Skip to content

Commit 4e5a6c3

Browse files
committed
Use Int32 for histogram example
1 parent a482d60 commit 4e5a6c3

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

examples/histogram.jl

+9-8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ include(joinpath(dirname(pathof(KernelAbstractions)), "../examples/utils.jl")) #
55

66
# Function to use as a baseline for CPU metrics
77
function create_histogram(input)
8-
histogram_output = zeros(Int, maximum(input))
8+
histogram_output = zeros(eltype(input), maximum(input))
99
for i in input
1010
histogram_output[i] += 1
1111
end
@@ -22,7 +22,7 @@ end
2222
@uniform gs = @groupsize()[1]
2323
@uniform N = length(histogram_output)
2424

25-
shared_histogram = @localmem Int (gs)
25+
shared_histogram = @localmem eltype(input) (gs)
2626

2727
# This will go through all input elements and assign them to a location in
2828
# shmem. Note that if there is not enough shem, we create different shmem
@@ -77,9 +77,10 @@ end
7777
if Base.VERSION < v"1.7.0" && !KernelAbstractions.isgpu(backend)
7878
@test_skip false
7979
else
80-
rand_input = [rand(1:128) for i in 1:1000]
81-
linear_input = [i for i in 1:1024]
82-
all_two = [2 for i in 1:512]
80+
# Use Int32 as some backends don't support 64-bit atomics
81+
rand_input = Int32[rand(1:128) for i in 1:1000]
82+
linear_input = Int32[i for i in 1:1024]
83+
all_two = Int32[2 for i in 1:512]
8384

8485
histogram_rand_baseline = create_histogram(rand_input)
8586
histogram_linear_baseline = create_histogram(linear_input)
@@ -89,9 +90,9 @@ end
8990
linear_input = move(backend, linear_input)
9091
all_two = move(backend, all_two)
9192

92-
rand_histogram = KernelAbstractions.zeros(backend, Int, 128)
93-
linear_histogram = KernelAbstractions.zeros(backend, Int, 1024)
94-
two_histogram = KernelAbstractions.zeros(backend, Int, 2)
93+
rand_histogram = KernelAbstractions.zeros(backend, Int32, 128)
94+
linear_histogram = KernelAbstractions.zeros(backend, Int32, 1024)
95+
two_histogram = KernelAbstractions.zeros(backend, Int32, 2)
9596

9697
histogram!(rand_histogram, rand_input)
9798
histogram!(linear_histogram, linear_input)

0 commit comments

Comments
 (0)