Recently I am learning about cache prefetching. I want to use spec2017 to test the previous prefetch strategies and learn how to extract the instruction sequence in spec2017. I browsed the introduction of spec2017 on the official website, and successfully installed and ran it according to the tutorial. But I still have some questions?
First, I copied
Example-gcc-linux-x86.cfgin the config folder asExample-gcc-linux-x86-test.cfg. And modified thegcc path, etc., when I use this config file to compile and run spec2017, there were a lot ofExample-gcc-linux-x86-test.cfg.2021-06-16T113335,Example-gcc-linux- in the config folder x86-test.cfg.2021-06-17T145932,Example-gcc-linux-x86-test.cfg.2021-06-17T150445and so on, and they occupy the config folder. Are these files temporary files and can they be deleted?The server I use is x86_64 GNU/Linux model. So I think the spec2017 I compiled is
x86. If I want to compile intorisc-v, do I just need to point thegccpath in the .cfg file to the gcc in my risc-v tool chain?The third point I don't understand is how to set the number of copies and the number of threads. When running SPECrate, I need to set the number of copies. For SPECspeed, I need to set the number of threads.
Copiesmay be set to the number of cores of the CPU, what about threads? Does this setting affect the results of the final evaluation? If it does, then if everyone uses a different number, how to compare?I plan to use an emulator to run spec2017, such as gem5. I found a lot of runtime parameters. For example, for 500.perlbench r / 600.perlbench s, in the case of ref size, the following figure shows the three inputs given. What do these three inputs represent? Which one should I choose?
When using gem5 to run spec2017, do I need to set the CPU frequency or Cache related information?
I am doing some prefetching experiments. How should I extract the corresponding trace from spec2017? Does this spec2017 provide relevant support?
There may be a lot of problems. But if someone is willing to answer me, I will be grateful! Thanks!
