tools/perf/pmu-events/arch/x86/amdzen3/floating-point.json

Source file repositories/reference/linux-study-clean/tools/perf/pmu-events/arch/x86/amdzen3/floating-point.json

File Facts

System
Linux kernel
Corpus path
tools/perf/pmu-events/arch/x86/amdzen3/floating-point.json
Extension
.json
Size
8654 bytes
Lines
140
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

[
  {
    "EventName": "fpu_pipe_assignment.total",
    "EventCode": "0x00",
    "BriefDescription": "Total number of fp uOps.",
    "PublicDescription": "Total number of fp uOps. The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS.",
    "UMask": "0x0f"
  },
  {
    "EventName": "fpu_pipe_assignment.total3",
    "EventCode": "0x00",
    "BriefDescription": "Total number uOps assigned to pipe 3.",
    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one-cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 3.",
    "UMask": "0x08"
  },
  {
    "EventName": "fpu_pipe_assignment.total2",
    "EventCode": "0x00",
    "BriefDescription": "Total number uOps assigned to pipe 2.",
    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 2.",
    "UMask": "0x04"
  },
  {
    "EventName": "fpu_pipe_assignment.total1",
    "EventCode": "0x00",
    "BriefDescription": "Total number uOps assigned to pipe 1.",
    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 1.",
    "UMask": "0x02"
  },
  {
    "EventName": "fpu_pipe_assignment.total0",
    "EventCode": "0x00",
    "BriefDescription": "Total number of fp uOps  on pipe 0.",
    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 0.",
    "UMask": "0x01"
  },
  {
    "EventName": "fp_ret_sse_avx_ops.all",
    "EventCode": "0x03",
    "BriefDescription": "All FLOPS. This is a retire-based event. The number of retired SSE/AVX FLOPS. The number of events logged per cycle can vary from 0 to 64. This event can count above 15.",
    "UMask": "0xff"
  },
  {
    "EventName": "fp_ret_sse_avx_ops.mac_flops",
    "EventCode": "0x03",
    "BriefDescription": "Multiply-Accumulate FLOPs. Each MAC operation is counted as 2 FLOPS. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
    "UMask": "0x08"
  },
  {
    "EventName": "fp_ret_sse_avx_ops.div_flops",
    "EventCode": "0x03",
    "BriefDescription": "Divide/square root FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
    "UMask": "0x04"
  },
  {
    "EventName": "fp_ret_sse_avx_ops.mult_flops",
    "EventCode": "0x03",
    "BriefDescription": "Multiply FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
    "UMask": "0x02"
  },
  {
    "EventName": "fp_ret_sse_avx_ops.add_sub_flops",
    "EventCode": "0x03",
    "BriefDescription": "Add/subtract FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
    "UMask": "0x01"
  },
  {
    "EventName": "fp_num_mov_elim_scal_op.optimized",
    "EventCode": "0x04",
    "BriefDescription": "Number of Scalar Ops optimized. This is a dispatch based speculative event, and is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",

Annotation

Implementation Notes