NVIDIA / NVIDIA/cccl

`DeviceHistogram` doesn't support `CounterT=int64_t` due to missing `atomicAdd` overload

Open
#909 2 comments 0 reactions 1 assignee Claimed by @wmaxey View on GitHub
cub
Dominant language
C++
Stars
2.5k
Forks
487
Avg merge
2d 7h
Merged PRs (30d)
296

Description

I am trying to use `cub::DeviceHistogram::HistogramEven` with `CounterT=int64_t` and get the following error:

```
cub/agent/agent_histogram.cuh(370): error: no instance of overloaded function "atomicAdd" matches the argument list
argument types are: (int64_t *, int64_t)
detected during:
instantiation of "void cub::CUB_101702_800_NS::AgentHistogram::AccumulatePixels(cub::CUB_101702_800_NS::AgentHistogram::SampleT (*)[NUM_CHANNELS], __nv_bool *, CounterT **, cub::CUB_101702_800_NS::Int2Type<1>) [with AgentHistogramPolicyT=cub::CUB_101702_800_NS::DispatchHistogram<1, 1, const uint32_t *, int64_t, int64_t, int>::PtxHistogramSweepPolicy, PRIVATIZED_SMEM_BINS=0, NUM_CHANNELS=1, NUM_ACTIVE_CHANNELS=1, SampleIteratorT=const uint32_t *, CounterT=int64_t, PrivatizedDecodeOpT=cub::CUB_101702_800_NS::DispatchHistogram<1, 1, const uint32_t *, int64_t, int64_t, int>::ScaleTransform, OutputDecodeOpT=cub::CUB_101702_800_NS::DispatchHistogram<1, 1, const uint32_t *, int64_t, int64_t, int>::PassThruTransform, OffsetT=int, PTX_ARCH=800]"
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.