Skip to content

Commit 62d711a

Browse files
author
zibai.wang
committed
fixed a hang bug
1 parent acd7d0a commit 62d711a

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/acl_printf.cpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -769,15 +769,27 @@ static void l_dump_printf_buffer(cl_event event, cl_kernel kernel,
769769
hal_dma_fn = acl_get_hal()->copy_globalmem_to_hostmem;
770770
}
771771

772-
void* b = (void*)((char*)kernel->printf_device_buffer->block_allocation->range.begin + kernel->processed_buffer_size);
773-
// hal_dma_fn(NULL, b, buffer, size - 64);
774-
hal_dma_fn(NULL, b, buffer, size - kernel->processed_buffer_size);
772+
// void* b = (void*)((char*)kernel->printf_device_buffer->block_allocation->range.begin + kernel->processed_buffer_size);
773+
// // hal_dma_fn(NULL, b, buffer, size - 64);
774+
775775
//hal_dma_fn(NULL, b, buffer, size - 64);
776776
// test is giving segfault if I use size - 64, because test doesn't have that much data
777777
// What if I don't use -64
778+
printf("total size is %d \n", size);
779+
printf("kernel prcessed buffer size is %d \n", kernel->processed_buffer_size);
780+
781+
void* unprocessed_begin = (void*)((char*)kernel->printf_device_buffer->block_allocation->range.begin + kernel->processed_buffer_size);
782+
printf("Hang may begin here?? \n");
783+
if (size > (unsigned int) kernel->processed_buffer_size){
784+
printf("ZIBAI has something to print! \n");
785+
hal_dma_fn(NULL, unprocessed_begin, buffer, size - kernel->processed_buffer_size);
786+
} else{
787+
printf("Zibai Added, nothing to print \n");
788+
return;
789+
}
790+
778791

779-
// hal_dma_fn(NULL, kernel->printf_device_buffer->block_allocation->range.begin,
780-
// buffer, size);
792+
//hal_dma_fn(NULL, kernel->printf_device_buffer->block_allocation->range.begin, buffer, size);
781793

782794
#ifdef DEBUG
783795
if (debug_mode > 0) {
@@ -1025,7 +1037,7 @@ void acl_process_printf_buffer(void *user_data, acl_device_op_t *op) {
10251037
// buffer again.
10261038
// Zibai Testing
10271039
if (op->info.debug_dump == 1){
1028-
kernel->processed_buffer_size += num_bytes;
1040+
kernel->processed_buffer_size += num_bytes; // TODO, Fix this, should be += processed bytes
10291041
} else{
10301042
// Full dump, clear this global var
10311043
kernel->processed_buffer_size = 0;

0 commit comments

Comments
 (0)