Tag: OPENMP
El siguiente código se compila y se ejecuta correctamente con el compilador Intel 19.x y con GCC 10 (g++ -fopenmp -std=c++17). Sin embargo, al compilarlo con Clang 12.x basado en Intel Compiler 2022, se produce un acceso no válido. ¿Mi código no es correcto para OpenMP o este es un . . . Read more
Quiero paralelizar de manera efectiva la siguiente suma en C: #pragma omp parallel for num_threads(nth) for(int i = 0; i < l; ++i) pout[pg[i]] += px[i]; donde px es un puntero a un arreglo de tipo double x de tamaño l que contiene algunos datos, pg es un puntero a . . . Read more
Aquí hay un bucle que funciona perfectamente bien: #include <inttypes.h> #include <iostream> int main() { for (int32_t i = -2; i < INT32_MAX-2; i++) { std::cout << i << std::endl; } } Añadir la cláusula omp parallel for parece romper el código al introducir un desbordamiento de enteros. #include <inttypes.h> . . . Read more
Estoy tratando de entender algunos conceptos básicos sobre cómo vectorizar mi código para mejorar su rendimiento. Pregunta: Con “-O0” intenté utilizar la directiva OpenMP SIMD de la siguiente manera: struct aligned_free { inline void operator()(double* ptr) { if (ptr != nullptr) { std::free(ptr); } } }; using unique_ptr_aligned_double = std::unique_ptr<double, . . . Read more
Intenté replicar el código en esta publicación en mi IDE de Visual Studio y obtuve algunos errores, aunque no cambié ninguna parte del código. El código proviene de esta publicación – Este es el código de la publicación – // Intercambio de las dos matrices #define SWAP_BOARDS( b1, b2 ) . . . Read more