Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1D vs 2D array access experiments #17

Open
4 of 8 tasks
rachitnigam opened this issue Oct 19, 2019 · 2 comments
Open
4 of 8 tasks

1D vs 2D array access experiments #17

rachitnigam opened this issue Oct 19, 2019 · 2 comments

Comments

@rachitnigam
Copy link
Member

rachitnigam commented Oct 19, 2019

Experiment

To analyze the performance and resource usage characteristics of multidimensional array accesses and partitioning strategies.

Questions:

  • For 2D arrays w/ various partitioning configurations without any unrolling, how does the resource count and runtime change?

    • Run Gemm ncubed kernel with 2D memories partitioned [1,2,4] * [1,2,4] 9 configurations.
    • Run Gemm ncubed kernel with 1D memories partitioned [1, 4, 8, 16]. Only need to run the 16 case and re-use numbers from previous experiment 1 configuration.
    • See if there is difference between the (1, 2) and (2, 1) cases for the 2D array.
    • See how (1, 2), (2, 1) cases compare with 2 case for 1D memory.
  • For 2D arrays, does unrolling the accessor for the dimension which is partitioned help more?

    • Run 2D Gemm with memories partitioned [1,2,4] * [1,2,4] and loop unrolling factors [1, 2, 4] * [1, 2, 4]. Ignore configurations where both the memories are partitioned the same or both the unrolling factors are the same and where part1 * part2 != unroll1 * unroll2. 12 configurations.
    • Compare performance to 1D array partition [1,2,4,16] and unrolling factor [1,2,4,16] with the same restriction (unroll factor = partition factor). Use numbers from previous experiment. 0 configurations.
    • See if partitioning the right dimension (the one being unrolled) makes performance better.
    • Compare the configurations (1, 2, 1, 2), (1, 2, 2, 1) and (2, 2) and see if the former are better/worse.
@rachitnigam
Copy link
Member Author

rachitnigam commented Oct 19, 2019

RFC from @sampsyo and @tissue3.

@sampsyo
Copy link
Contributor

sampsyo commented Oct 22, 2019

Sounds about right to me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants