module load gcc/11.2.0
Exercício 1 - The basic OpenMP construct: the parallel region
gcc -O2 -fopenmp ex51.c
srun --partition=cpar --cpus-per-task=x ./a.out
a) A ordem de saída não é garantida ser sempre a mesma em diferentes execuções devido à natureza paralela da execução e à influência do escalonador do sistema operacional.
b) A ordem de saída de cada thread não é garantida ser a mesma em diferentes execuções. Ela pode variar dependendo do escalonador do sistema operacional.
c) A execução do loop é distribuída entre as threads com base na política de escalonamento, que pode ser "static" (estática) ou "dynamic" (dinâmica), dependendo da implementação do OpenMP. A política de escalonamento determina como as iterações são atribuídas a cada thread.
Exercício 2 - Work sharing and synchronization
Exercício 3 -Synchronization