How to get the min/max value of float type in a kernel?

my cuda program need to find the min/max value of a sequence float data in a global memory,but I found atomicMin/atomicMax only support int,uint and ulonglong data type, float is not support,so how can I find min/max float value in a cuda kernel?

Some possibilities outlined there are the answer by Xiaojing An and the answer by jet47

for a consecutively stored sequence of floats, I recommend to use a parallel reduction to find the maximum or minimum value. This does not require the use of any atomic operations.

it can be implemented using the Thrust library in a few lines of code