Fixes generales

main
Sebastián Santisi 11 months ago
parent 123a81eeeb
commit 7d234603c0

@ -11,15 +11,15 @@ int main(int argc, char *argv[]) {
return 1; return 1;
} }
int my_rank, num_procs; int mi_rank, num_procs;
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &num_procs); MPI_Comm_size(MPI_COMM_WORLD, &num_procs);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); MPI_Comm_rank(MPI_COMM_WORLD, &mi_rank);
if(! my_rank) if(! mi_rank)
printf("Procesos: %d\n", num_procs); printf("Procesos: %d\n", num_procs);
srand(time(NULL) + my_rank); srand(time(NULL) + mi_rank); // Ojo, tal vez un proceso se lanza un segundo después que otro y esta cuenta coincide.
size_t tiros = atol(argv[1]); size_t tiros = atol(argv[1]);
tiros = tiros / num_procs * num_procs; tiros = tiros / num_procs * num_procs;
@ -35,7 +35,7 @@ int main(int argc, char *argv[]) {
size_t positivos; size_t positivos;
MPI_Reduce(&positivos_parciales, &positivos, 1, MPI_LONG, MPI_SUM, 0, MPI_COMM_WORLD); MPI_Reduce(&positivos_parciales, &positivos, 1, MPI_LONG, MPI_SUM, 0, MPI_COMM_WORLD);
if(! my_rank) { if(! mi_rank) {
double pi = 4.0 * positivos / tiros; double pi = 4.0 * positivos / tiros;
printf("Tiros = %zd, Positivos = %zd\n", tiros, positivos); printf("Tiros = %zd, Positivos = %zd\n", tiros, positivos);

@ -1,5 +1,7 @@
# Taller de TUPAC # Taller de TUPAC
[Filminas de la charla](https://docs.google.com/presentation/d/17K76Zx4Rin4IDFLLV7D73egm_Eh0gkJJfBsoMjVAWh8/edit?usp=sharing)
## Hola mundo ## Hola mundo
### `hola_openmp.c` ### `hola_openmp.c`

@ -2,21 +2,21 @@
#include <mpi.h> #include <mpi.h>
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
int my_rank, num_procs; int mi_rank, num_procs;
char nombre[MPI_MAX_PROCESSOR_NAME]; char nombre[MPI_MAX_PROCESSOR_NAME];
int len; int len;
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &num_procs); MPI_Comm_size(MPI_COMM_WORLD, &num_procs);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); MPI_Comm_rank(MPI_COMM_WORLD, &mi_rank);
MPI_Get_processor_name(nombre, &len); MPI_Get_processor_name(nombre, &len);
if(! my_rank) { if(! mi_rank) {
printf("¡Holas generales!\n"); printf("¡Holas generales!\n");
printf("Procesos: %d\n", num_procs); printf("Procesos: %d\n", num_procs);
} }
printf("¡Hola desde el proceso %d en %s!\n", my_rank, nombre); printf("¡Hola desde el proceso %d en %s!\n", mi_rank, nombre);
MPI_Finalize(); MPI_Finalize();

@ -1,7 +1,4 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <omp.h> #include <omp.h>
int main(void) { int main(void) {

Loading…
Cancel
Save