clamchowder / Microbenchmarks

Trying to figure various CPU things out
Apache License 2.0
77 stars 13 forks source link

Is there a guide for clammicrobench? #2

Closed edisonchan closed 3 years ago

edisonchan commented 3 years ago

I had try to run "clammicrobench rob 1024 5000000", it seem stop at 512 entry? how to make it run up to 1024 entry?

rkl_rob

I think the max entry 512 is not enough for ADL?

I had created a batch file, but I am not sure the option settings for RKL or other new CPUs:

clammicrobench.exe rob > "Reorder Buffer Test.txt"
clammicrobench.exe intrf > "Integer RF Test.txt"
clammicrobench.exe fprf > "FP (64-bit scalar) RF Test.txt"
clammicrobench.exe vec128rf > "Vector (128-bit packed int) RF Test.txt"
clammicrobench.exe vec256rf > "Vector (256-bit packed fp) RF Test.txt"
clammicrobench.exe addsched > "Integer (add) Scheduler Capacity Test.txt"
clammicrobench.exe mulsched > "Integer (64-bit mul) Scheduler Capacity Test.txt"
clammicrobench.exe mul16sched > "Integer (16-bit mul) Scheduler Capacity Test.txt"
clammicrobench.exe mul32sched > "Integer (32-bit mul) Scheduler Capacity Test.txt"
clammicrobench.exe faddsched > "FP (32-bit add) Scheduler Capacity Test.txt"
clammicrobench.exe fmulsched > "FP (32-bit multiply) Scheduler Capacity Test.txt"
clammicrobench.exe fadd256sched > "256-bit FADD Scheduler Capacity Test.txt"
clammicrobench.exe mixfaddfmulsched > "FP (mixed 32-bit add and multiply) Scheduler Capacity Test.txt"
clammicrobench.exe jmpsched > "Not-taken Jump Scheduler Capacity Test.txt"
clammicrobench.exe flagrf > "Flags register file capacity.txt"
clammicrobench.exe mixintfprf > "Mix of integer and FP register file.txt"
clammicrobench.exe loadsched > "Load scheduler capacity test.txt"
clammicrobench.exe storesched > "Store Address Scheduler Capacity Test.txt"
clammicrobench.exe storedatasched > "Store (Data) Scheduler Capacity Test.txt"
clammicrobench.exe ldq > "Load Queue Test (loads pending retire).txt"
clammicrobench.exe stq > "Store Queue Test (stores pending retire).txt"
clammicrobench.exe mixldqstq > "Mixed Load and Store Queue Test (mem ops pending retire).txt"
clammicrobench.exe returnstack > "Return Stack Depth Test.txt"
clammicrobench.exe mshrs > "Miss Status Handling Registers Capacity Test.txt"
clammicrobench.exe cvtsched > "I2F (cvtsi2ss) Scheduler Capacity Test.txt"
clammicrobench.exe rorsched > "Rotate Scheduler Capacity Test.txt"
clammicrobench.exe mixmulschedtest > "Mixed Integer (64 and 16-bit mul) Scheduler Capacity Test.txt"
clammicrobench.exe tbb > "Taken Branch Buffer Test (taken branches pending retire).txt"
clammicrobench.exe bob > "Branch Order Buffer Test (not-taken branches pending retire).txt"
clammicrobench.exe ymmstateintrf > "10:1 Integer vs FP RF Test with YMM (AVX) state.txt"
clammicrobench.exe add256rf > "256-bit Integer Add RF Capacity Test.txt"
clammicrobench.exe add256sched > "256-bit Integer Add Scheduler Capacity Test (128-bit on ARM).txt"
clammicrobench.exe btb4n > "Branch Target Buffer, branch every 4 bytes.txt"
clammicrobench.exe btb8n > "Branch Target Buffer, branch every 8 bytes.txt"
clammicrobench.exe btb16n > "Branch Target Buffer, branch every 16 bytes.txt"
clammicrobench.exe mixmuljmpsched > "Mixed integer multiply and not-taken Jump Scheduler Capacity Test.txt"
clammicrobench.exe mixmulrorsched > "Mixed Multiply and Rotate Scheduler Capacity Test.txt"
clammicrobench.exe branchhist > "Branch predictor pattern recognition.txt"
clammicrobench.exe indirectbranch > "Indirect branch prediction.txt"
clamchowder commented 3 years ago

In https://github.com/clamchowder/Microbenchmarks/blob/master/AsmGen/Program.c, change the max number of entries for RobTest on line 19. i.e. tests.Add(new RobTest(4, 1024, 1));

edisonchan commented 3 years ago

Thanks, It works.