Add Collatz Conjecture tester

This commit is contained in:
Darren VanBuren 2019-03-18 19:30:42 -07:00
parent f64882f5c3
commit f544a08146
3 changed files with 127 additions and 0 deletions

21
collatz-kernel.cl Normal file
View file

@ -0,0 +1,21 @@
#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable
__kernel void collatz(__global unsigned int* inputNums,
__global unsigned int* triesArr) {
int N = get_global_id(1) * get_global_size(0) + get_global_id(0);
int val = N + 1;
int tries = 0;
inputNums[N] = val;
while(val != 1) {
if(val % 2 == 0) {
val = val / 2;
} else {
val = 3 * val + 1;
}
tries++;
}
triesArr[N] = tries;
}