2022-11-04 09:35:42 -07:00

30 lines
532 B
C

/*
* @@name: set_dynamic_nthrs.1
* @@type: C
* @@operation: compile
* @@expect: success
* @@version: pre_omp_3.0
*/
#include <omp.h>
#include <stdlib.h>
void do_by_16(float *x, int iam, int ipoints) {}
void dynthreads(float *x, int npoints)
{
int iam, ipoints;
omp_set_dynamic(0);
omp_set_num_threads(16);
#pragma omp parallel shared(x, npoints) private(iam, ipoints)
{
if (omp_get_num_threads() != 16)
abort();
iam = omp_get_thread_num();
ipoints = npoints/16;
do_by_16(x, iam, ipoints);
}
}