diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_kernel.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_kernel.cpp index 6a2afec28d..4efbe2dfeb 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_kernel.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_kernel.cpp @@ -678,7 +678,7 @@ hsa_status_t BlitKernel::SubmitLinearCopyCommand( std::atomic_thread_fence(std::memory_order_release); queue_buffer[(write_index)&queue_bitmask_].header = kBarrierPacketHeader; - LogPrint(HSA_AMD_LOG_FLAG_BLIT_KERNEL_PKTS, + LogPrint(HSA_AMD_LOG_FLAG_AQL, "HWq=%p, id=%lu, Barrier Header = " "0x%x (type=%d, barrier=%d, acquire=%d, release=%d), " "dep_signal=[0x%zx 0x%zx 0x%zx 0x%zx 0x%zx], completion_signal=0x%zx " @@ -693,12 +693,12 @@ hsa_status_t BlitKernel::SubmitLinearCopyCommand( HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE), extractAqlBits(kBarrierPacketHeader, HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE, HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE), - barrier_packet.dep_signal[0].handle, + barrier_packet.dep_signal[0].handle, barrier_packet.dep_signal[1].handle, barrier_packet.dep_signal[2].handle, - barrier_packet.dep_signal[3].handle, + barrier_packet.dep_signal[3].handle, barrier_packet.dep_signal[4].handle, - barrier_packet.completion_signal.handle, + barrier_packet.completion_signal.handle, queue_->LoadReadIndexRelaxed(), write_index); ++write_index; @@ -900,7 +900,7 @@ void BlitKernel::PopulateQueue(uint64_t index, uint64_t code_handle, void* args, __atomic_store_n(&(queue_buffer[index & queue_bitmask_].full_header), kDispatchPacketHeader | packet.setup << 16, __ATOMIC_RELEASE); - LogPrint(HSA_AMD_LOG_FLAG_BLIT_KERNEL_PKTS, + LogPrint(HSA_AMD_LOG_FLAG_AQL, "HWq=%p, id=%lu, Dispatch Header = " "0x%x (type=%d, barrier=%d, acquire=%d, release=%d), " "setup=%d, grid=[%zu, %zu, %zu], workgroup=[%zu, %zu, %zu], private_seg_size=%zu, " diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp index 18a027632f..429dbf0d1d 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp @@ -3,7 +3,7 @@ // The University of Illinois/NCSA // Open Source License (NCSA) // -// Copyright (c) 2014-2020, Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2014-2025, Advanced Micro Devices, Inc. All rights reserved. // // Developed by: // @@ -71,7 +71,7 @@ inline uint32_t ptrhigh32(const void* p) { #endif } -const size_t BlitSdmaBase::kQueueSize = 1024 * 1024; +const size_t BlitSdmaBase::kQueueSize = 1024 * 1024 * 8; const size_t BlitSdmaBase::kCopyPacketSize = sizeof(SDMA_PKT_COPY_LINEAR); const size_t BlitSdmaBase::kMaxSingleCopySize = SDMA_PKT_COPY_LINEAR::kMaxSize_; const size_t BlitSdmaBase::kMaxSingleFillSize = SDMA_PKT_CONSTANT_FILL::kMaxSize_; @@ -186,6 +186,8 @@ hsa_status_t BlitSdma::Initialize(const core::Agent& agent, bool use_xgm if (agent_->driver().CreateQueue(agent_->node_id(), kQueueType_, 100, HSA_QUEUE_PRIORITY_MAXIMUM, rec_eng, queue_start_addr_, kQueueSize, nullptr, queue_resource_) != HSA_STATUS_SUCCESS) { + LogPrint(HSA_AMD_LOG_FLAG_INFO, "Failed to create queue, size=%d, type=%d," + " priority=%d, engine_id=%d", kQueueSize, kQueueType_, HSA_QUEUE_PRIORITY_MAXIMUM, rec_eng); return HSA_STATUS_ERROR_OUT_OF_RESOURCES; } diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.cpp index c0ac8bd970..5c4ab75a65 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.cpp @@ -49,23 +49,25 @@ #include #include #include +#include namespace rocr { FILE* log_file = stderr; uint8_t log_flags[8]; void log_printf(const char* file, int line, const char* format, ...) { - va_list ap; - std::stringstream str_thrd_id; - str_thrd_id << std::hex << std::this_thread::get_id(); - va_start(ap, format); - char message[4096]; - vsnprintf(message, sizeof(message), format, ap); - va_end(ap); - fprintf(log_file, ":%-25s:%-4d: %010lld us: [pid:%-5d tid:0x%s] [***rocr***] %s\n", - file, line, os::ReadAccurateClock()/1000ULL, os::GetProcessId(), - str_thrd_id.str().c_str(), message); - fflush(log_file); + va_list ap; + std::stringstream pidtid; + pidtid << "[pid:" << os::GetProcessId() << " tid: 0x" ; + pidtid << std::hex << std::setw(5) << std::this_thread::get_id() << "]"; + va_start(ap, format); + char message[4096]; + vsnprintf(message, sizeof(message), format, ap); + va_end(ap); + fprintf(log_file, ":7:%-25s:%-4d: %010lld us: %s [***rocr***] %s\n", + file, line, os::ReadAccurateClock()/1000ULL, + pidtid.str().c_str(), message); + fflush(log_file); } // split at separators diff --git a/projects/rocr-runtime/runtime/hsa-runtime/inc/hsa_ext_amd.h b/projects/rocr-runtime/runtime/hsa-runtime/inc/hsa_ext_amd.h index c402a51264..ff2fc30336 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/inc/hsa_ext_amd.h +++ b/projects/rocr-runtime/runtime/hsa-runtime/inc/hsa_ext_amd.h @@ -3646,8 +3646,13 @@ hsa_status_t hsa_amd_queue_get_info(hsa_queue_t* queue, hsa_queue_info_attribute * @brief logging types */ typedef enum hsa_amd_log_flag_s { - /* Log AQL packets internally enqueued by HSA for Blit Kernels */ + /* Log AQL packets internally enqueued by ROCr */ HSA_AMD_LOG_FLAG_BLIT_KERNEL_PKTS = 0, + HSA_AMD_LOG_FLAG_AQL = 0, + /* Log SDMA packets */ + HSA_AMD_LOG_FLAG_SDMA = 1, + /* Log INFO */ + HSA_AMD_LOG_FLAG_INFO = 2, } hsa_amd_log_flag_t; /**