Skip to content

[BUG]: RadixSortKeys benchmark contains an unexpected cudaMalloc in the critical benchmark region #9132

Closed

Description

@gonidelis

As part of #8765 I got two profiles. One on current main:

Image

and one before we changed the benchmark to use the new tuning API (which calls straight to Device instead of the Dispatch layer as we used):

Image

The benchmark was recently changed last in #7949. Let's check if the big cudaMalloc was introduced by accident in #7949.

Activity

  1. added theissue type on May 26, 2026
  2. added this to the CCCL 3.5 milestone on May 27, 2026
  3. bernhardmgruber commented on May 28, 2026

    @bernhardmgruber
    Contributor

    I am on upstream/main (d083f97) and I can only see a single cudaMallocAsync as part of the first call to DeviceRadixSort:

    Image

    Every call afterwards, does not perform an allocation.

  4. gonidelis commented on May 29, 2026

    @gonidelis
    MemberAuthor

    @bernhardmgruber does that contradict my profile? i am confused. wasn't the initial cudamalloc the problem at hand for this issue?

  5. bernhardmgruber commented on May 29, 2026

    @bernhardmgruber
    Contributor

    I would need to look at your complete profile. Did you create your profile while running the benchmark with --profile or --run-once? Because then maybe you only see warmup runs which always include the cudaMalloc.

  6. gonidelis commented on Jun 5, 2026

    @gonidelis
    MemberAuthor

    twas a false alarm

    after using @oleksandr-pavlyk 's new feature of stopping-criterion sample-count we saw that this is the original malloc that is being called once when the first kernel invocation happens and is being used throughout all subsequent kernel invocations without further allocations happening.

    Image
  7. moved this from Todo to Done in CCCLon Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

  • Status
    Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions