据我所知,#pragma omp parallel及其变体基本上在多个并发线程中执行以下块,这与CPU的数量相对应。当有嵌套的并行化时-- parallel for on for,parallel function on for等等--内部并行化会发生什么?我是OpenMP的新手,我考虑的情况可能相当简单--将一个向量与一个矩阵相乘。这是在两个嵌套的for循环中完成的。假设CPU的数量小于向量中元素的数量,那么尝试<
我在多个线程上执行了一个循环。每个循环都会将一个值存储到一个全局向量中。向量索引变量由所有线程使用,每个线程在向量更新后增加索引。必须保护对索引的访问。如何在OpenMP中进行保护?1/如果我指定#务实omp并行共享(K),这会保护(同步访问)k-索引访问跨线程吗?critical (section_name) my_vec[k++] = some