Генерация случайного числа в ядре Cuda в различном диапазоне

Я пытаюсь генерировать случайные числа случайных чисел в ядре CUDA. Я хочу генерировать случайные числа из равномерного распределения и в целочисленной форме, начиная с 1 до 8. Случайные числа будут разными для каждого из потоков. Диапазон, до которого может быть сгенерировано случайное число, также будет варьироваться от одного потока к другому. Максимальный диапазон в одном потоке может составлять всего 2, а в другом - 8, но не выше. Итак, ниже приведен пример того, как я хочу, чтобы числа генерировались:

In thread#1 --> maximum of the range is 2 and so the random number should be between 1 and 2
In thread#2 --> maximum of the range is 6  and so the random number should be between 1 and 6
In thread#3 --> maximum of the range is 5 and so the random number should be between 1 and 5

и так далее...