Everyone!
I'm trying to vectorize this quicksort algorithm, but I keep getting these kinds of error:
"missed:couldn't vectorize loop"
"missed: not vectorized : control flow in loop"
"missed:statement clobbers memory : quicksort(lo_10,i_7)"
Can somebdoy give me a hand?
Thanks, guys!
Here is the code:
#define SIZE 100000000
int array[SIZE];
void quicksort(int lo, int hi) {
if(lo < hi) {
int i = lo - 1, h;
int x = array[hi];
//partition
for(int j = lo; j < hi; j++) {
if(array[j] < x) {
i++;
h = array[i];
array[i] = array[j];
array[j] = h;
}
}
i++;
h = array[i];
array[i] = array[hi];
array[hi] = h;
//recursion
//#pragma omp task
quicksort(lo, i - 1);
//#pragma omp task
quicksort(i + 1, hi);
}
}
question from:
https://stackoverflow.com/questions/65540779/vectorizing-quicksort-algorithm-c 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…