Lines Matching refs:chunk
184 static void ac_sqtt_fill_cpu_info(struct sqtt_file_chunk_cpu_info *chunk)
191 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CPU_INFO;
192 chunk->header.chunk_id.index = 0;
193 chunk->header.major_version = 0;
194 chunk->header.minor_version = 0;
195 chunk->header.size_in_bytes = sizeof(*chunk);
197 chunk->cpu_timestamp_freq = 1000000000; /* tick set to 1ns */
199 strncpy((char *)chunk->vendor_id, "Unknown", sizeof(chunk->vendor_id));
200 strncpy((char *)chunk->processor_brand, "Unknown", sizeof(chunk->processor_brand));
201 chunk->clock_speed = 0;
202 chunk->num_logical_cores = 0;
203 chunk->num_physical_cores = 0;
204 chunk->system_ram_size = 0;
206 chunk->system_ram_size = system_ram_size / (1024 * 1024);
219 char *ptr = (char *)chunk->vendor_id;
222 strncpy(ptr, v + 1, sizeof(chunk->vendor_id) - 1);
223 ptr[sizeof(chunk->vendor_id) - 1] = '\0';
229 char *ptr = (char *)chunk->processor_brand;
232 strncpy(ptr, v + 1, sizeof(chunk->processor_brand) - 1);
233 ptr[sizeof(chunk->processor_brand) - 1] = '\0';
249 chunk->num_logical_cores = v;
257 chunk->num_physical_cores = v;
261 if (chunk->num_logical_cores)
262 chunk->clock_speed = cpu_clock_speed_total / chunk->num_logical_cores;
432 struct sqtt_file_chunk_asic_info *chunk)
436 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_ASIC_INFO;
437 chunk->header.chunk_id.index = 0;
438 chunk->header.major_version = 0;
439 chunk->header.minor_version = 4;
440 chunk->header.size_in_bytes = sizeof(*chunk);
442 chunk->flags = 0;
448 chunk->flags |= SQTT_FILE_CHUNK_ASIC_INFO_FLAG_SC_PACKER_NUMBERING;
452 chunk->flags |= SQTT_FILE_CHUNK_ASIC_INFO_FLAG_PS1_EVENT_TOKENS_ENABLED;
454 chunk->trace_shader_core_clock = rad_info->max_gpu_freq_mhz * 1000000ull;
455 chunk->trace_memory_clock = rad_info->memory_freq_mhz * 1000000ull;
459 if (!chunk->trace_shader_core_clock)
460 chunk->trace_shader_core_clock = 1300000000;
461 if (!chunk->trace_memory_clock)
462 chunk->trace_memory_clock = 687000000;
464 chunk->device_id = rad_info->pci_id;
465 chunk->device_revision_id = rad_info->pci_rev_id;
466 chunk->vgprs_per_simd = rad_info->num_physical_wave64_vgprs_per_simd * (has_wave32 ? 2 : 1);
467 chunk->sgprs_per_simd = rad_info->num_physical_sgprs_per_simd;
468 chunk->shader_engines = rad_info->max_se;
469 chunk->compute_unit_per_shader_engine = rad_info->min_good_cu_per_sa * rad_info->max_sa_per_se;
470 chunk->simd_per_compute_unit = rad_info->num_simd_per_compute_unit;
471 chunk->wavefronts_per_simd = rad_info->max_wave64_per_simd;
473 chunk->minimum_vgpr_alloc = rad_info->min_wave64_vgpr_alloc;
474 chunk->vgpr_alloc_granularity = rad_info->wave64_vgpr_alloc_granularity * (has_wave32 ? 2 : 1);
475 chunk->minimum_sgpr_alloc = rad_info->min_sgpr_alloc;
476 chunk->sgpr_alloc_granularity = rad_info->sgpr_alloc_granularity;
478 chunk->hardware_contexts = 8;
479 chunk->gpu_type =
481 chunk->gfxip_level = ac_gfx_level_to_sqtt_gfxip_level(rad_info->gfx_level);
482 chunk->gpu_index = 0;
484 chunk->max_number_of_dedicated_cus = 0;
485 chunk->ce_ram_size = 0;
486 chunk->ce_ram_size_graphics = 0;
487 chunk->ce_ram_size_compute = 0;
489 chunk->vram_bus_width = rad_info->memory_bus_width;
490 chunk->vram_size = (uint64_t)rad_info->vram_size_kb * 1024;
491 chunk->l2_cache_size = rad_info->l2_cache_size;
492 chunk->l1_cache_size = rad_info->l1_cache_size;
493 chunk->lds_size = rad_info->lds_size_per_workgroup;
496 chunk->lds_size /= 2;
499 strncpy(chunk->gpu_name, rad_info->name, SQTT_GPU_NAME_MAX_SIZE - 1);
501 chunk->alu_per_clock = 0.0;
502 chunk->texture_per_clock = 0.0;
503 chunk->prims_per_clock = rad_info->max_se;
505 chunk->prims_per_clock *= 2;
506 chunk->pixels_per_clock = 0.0;
508 chunk->gpu_timestamp_frequency = rad_info->clock_crystal_freq * 1000;
509 chunk->max_shader_core_clock = rad_info->max_gpu_freq_mhz * 1000000;
510 chunk->max_memory_clock = rad_info->memory_freq_mhz * 1000000;
511 chunk->memory_ops_per_clock = ac_memory_ops_per_clock(rad_info->vram_type);
512 chunk->memory_chip_type = ac_vram_type_to_sqtt_memory_type(rad_info->vram_type);
513 chunk->lds_granularity = rad_info->lds_encode_granularity;
517 chunk->cu_mask[se][sa] = rad_info->cu_mask[se][sa];
594 static void ac_sqtt_fill_api_info(struct sqtt_file_chunk_api_info *chunk)
596 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_API_INFO;
597 chunk->header.chunk_id.index = 0;
598 chunk->header.major_version = 0;
599 chunk->header.minor_version = 1;
600 chunk->header.size_in_bytes = sizeof(*chunk);
602 chunk->api_type = SQTT_API_TYPE_VULKAN;
603 chunk->major_version = 0;
604 chunk->minor_version = 0;
605 chunk->profiling_mode = SQTT_PROFILING_MODE_PRESENT;
606 chunk->instruction_trace_mode = SQTT_INSTRUCTION_TRACE_DISABLED;
623 struct sqtt_file_chunk_code_object_database *chunk,
626 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_DATABASE;
627 chunk->header.chunk_id.index = 0;
628 chunk->header.major_version = 0;
629 chunk->header.minor_version = 0;
630 chunk->header.size_in_bytes = chunk_size;
631 chunk->offset = file_offset;
632 chunk->flags = 0;
633 chunk->size = chunk_size;
634 chunk->record_count = rgp_code_object->record_count;
655 struct sqtt_file_chunk_code_object_loader_events *chunk,
658 chunk->header.chunk_id.type =
660 chunk->header.chunk_id.index = 0;
661 chunk->header.major_version = 1;
662 chunk->header.minor_version = 0;
663 chunk->header.size_in_bytes = (rgp_loader_events->record_count *
665 sizeof(*chunk);
666 chunk->offset = file_offset;
667 chunk->flags = 0;
668 chunk->record_size = sizeof(struct sqtt_code_object_loader_events_record);
669 chunk->record_count = rgp_loader_events->record_count;
687 struct sqtt_file_chunk_pso_correlation *chunk,
690 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_PSO_CORRELATION;
691 chunk->header.chunk_id.index = 0;
692 chunk->header.major_version = 0;
693 chunk->header.minor_version = 0;
694 chunk->header.size_in_bytes = (rgp_pso_correlation->record_count *
696 sizeof(*chunk);
697 chunk->offset = file_offset;
698 chunk->flags = 0;
699 chunk->record_size = sizeof(struct sqtt_pso_correlation_record);
700 chunk->record_count = rgp_pso_correlation->record_count;
742 struct sqtt_file_chunk_sqtt_desc *chunk, int32_t chunk_index,
745 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SQTT_DESC;
746 chunk->header.chunk_id.index = chunk_index;
747 chunk->header.major_version = 0;
748 chunk->header.minor_version = 2;
749 chunk->header.size_in_bytes = sizeof(*chunk);
751 chunk->sqtt_version =
753 chunk->shader_engine_index = shader_engine_index;
754 chunk->v1.instrumentation_spec_version = 1;
755 chunk->v1.instrumentation_api_version = 0;
756 chunk->v1.compute_unit_index = compute_unit_index;
771 static void ac_sqtt_fill_sqtt_data(struct sqtt_file_chunk_sqtt_data *chunk, int32_t chunk_index,
774 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SQTT_DATA;
775 chunk->header.chunk_id.index = chunk_index;
776 chunk->header.major_version = 0;
777 chunk->header.minor_version = 0;
778 chunk->header.size_in_bytes = sizeof(*chunk) + size;
780 chunk->offset = sizeof(*chunk) + offset;
781 chunk->size = size;
825 struct sqtt_file_chunk_queue_event_timings *chunk)
832 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_QUEUE_EVENT_TIMINGS;
833 chunk->header.chunk_id.index = 0;
834 chunk->header.major_version = 1;
835 chunk->header.minor_version = 1;
836 chunk->header.size_in_bytes = queue_info_size + queue_event_size +
837 sizeof(*chunk);
839 chunk->queue_info_table_record_count = rgp_queue_info->record_count;
840 chunk->queue_info_table_size = queue_info_size;
841 chunk->queue_event_table_record_count = rgp_queue_event->record_count;
842 chunk->queue_event_table_size = queue_event_size;
859 ac_sqtt_fill_clock_calibration(struct sqtt_file_chunk_clock_calibration *chunk,
862 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CLOCK_CALIBRATION;
863 chunk->header.chunk_id.index = chunk_index;
864 chunk->header.major_version = 0;
865 chunk->header.minor_version = 0;
866 chunk->header.size_in_bytes = sizeof(*chunk);
902 uint32_t data_offset; /* offset of counter from the beginning of the chunk */
918 struct sqtt_file_chunk_spm_db *chunk,
922 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SPM_DB;
923 chunk->header.chunk_id.index = 0;
924 chunk->header.major_version = 1;
925 chunk->header.minor_version = 3;
926 chunk->header.size_in_bytes = chunk_size;
928 chunk->flags = 0;
929 chunk->num_timestamps = num_samples;
930 chunk->num_spm_counter_info = spm_trace->num_counters;
931 chunk->sample_interval = spm_trace->sample_interval;
997 /* SQTT SPM DB chunk. */
1032 /* SQTT cpu chunk. */
1037 /* SQTT asic chunk. */
1042 /* SQTT api chunk. */
1047 /* SQTT code object database chunk. */
1080 /* SQTT code object loader events chunk. */
1097 /* SQTT pso correlation chunk. */
1172 /* SQTT desc chunk. */
1177 /* SQTT data chunk. */