Skip to content

Conversation

@makortel
Copy link
Collaborator

Part of #43. Kind of equivalent to cms-patatrack/cmssw#157.

By default cudaMemAdvise() and cudaMemPrefetchAsync() are enabled, but there are compile-time switches to disable them.

@makortel
Copy link
Collaborator Author

makortel commented May 29, 2020

Passes tests, but I want to assess performance impact (on V100) first before merging.

@makortel
Copy link
Collaborator Author

makortel commented Jun 2, 2020

Here is a throughput scan on a single V100 (all cases process 400k events / concurrent event, "1 concurrent event" case takes about 9 minutes)

cudauvm_pr53

Conclusions

  • Managed memory gives 0-4 % smaller throughput than explicit memory
  • cudaMemAdvise(cudaMemAdviseSetReadMostly) has a 2-6 % effect until the throughput plateau is reached
    • at the plateau it does not make a difference
  • Prefetch has no impact in this test
    • as expected, conditions data is transferred once and then used many many times

@makortel makortel merged commit 55d2064 into cms-patatrack:master Jun 2, 2020
@makortel makortel deleted the cudauvm branch June 2, 2020 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant