FindHao / drgpu

A Top-Down Profiler for GPU Applications
BSD 3-Clause "New" or "Revised" License
13 stars 2 forks source link

Preparing to run DrGPU #1

Open ajmehrlich opened 1 year ago

ajmehrlich commented 1 year ago

Hello,

I'm trying to get DrGPU to run according to the README.md, but I ran into a few issues.

  1. You are using b+tree as an example. Is that a placeholder for an executable? Because I can't find it anywhere and the following terminal command fails due to not finding ./b+tree.out
  2. I see that you have some memory configurations for different GPUs. Since none of the GPUs match with mine I probably have to create one of my own right? Have I missed some option to download those files in techpowerup or do I have to type them in manually?

Thanks for any kind of help.

FindHao commented 1 year ago

Hi @alexander-jm , Sorry for the late reply.

  1. the b+tree is the application in Rodinia benchmark, you can get it from https://github.com/yuhc/gpu-rodinia or https://www.cs.virginia.edu/rodinia/doku.php. The makefile may need to be modified to suite your GPU.
  2. You need to create your own config. I believe for most cases, you may only need to change the line 1-line 25
FindHao commented 1 year ago

I found I have put the example applications in this repo. https://github.com/FindHao/samples

FindHao commented 1 year ago

Another note is that NCU changes a lot. For example, you don't need to manually export source code mapping anymore. The output format of NCU report in csv may change too. But it could be easy to fix. You are more than welcome to contribute to this repo.

ajmehrlich commented 1 year ago

Ok, thank you for the responses. I created my own config, but for some I had to guess. For example how do I find out how many L2 slices my GPU has? I haven't even found that for the 2080 Ti for which a config already exists.

I have a follow up question regarding the command with drgpu_collector.sh. It provides txt-files from a data directory. What are those? I get a Command File error, because obviously the file does not exist.

FindHao commented 1 year ago

Ok, thank you for the responses. I created my own config, but for some I had to guess. For example how do I find out how many L2 slices my GPU has? I haven't even found that for the 2080 Ti for which a config already exists.

I have a follow up question regarding the command with drgpu_collector.sh. It provides txt-files from a data directory. What are those? I get a Command File error, because obviously the file does not exist.

each L2 slice is 512 KB, I assume they didn't change it. so, the number of L2 slices = L2 capacity / 512 KB.

drgpu_collector.sh will run the ncu to generate the profiling report in csv format. I don't understand what do you mean it provides txt-files from a data directory.

what's your command file error?

ajmehrlich commented 1 year ago

ah good, that's what I guessed.

For the command issue: I may have worded the problem wrong. What I meant is that the command takes txt-files from a data directory (like input file: ../data/mil.txt), but I don't know where to find it.

FindHao commented 1 year ago

ah good, that's what I guessed.

For the command issue: I may have worded the problem wrong. What I meant is that the command takes txt-files from a data directory (like input file: ../data/mil.txt), but I don't know where to find it.

You can get the input by running the script get_data.sh in example repo.

ajmehrlich commented 1 year ago

Oh, I missed that script. So now I can get the btree.svg, but some of the values in there don't make sense (e.g. L1 hit rate of 71808179.00% ; the same value regardless of chosen gpu config). But that is probably what you meant with the changes in formatting.

Again thank you for the help.