<commit_before># Ejemplos con openmpi

Para los siguientes ejemplos, se supone que se ha [levantado un cluster de forma pseudo distribuida con openMPI y docker](../). 

Se compilarán y ejecutarán los ejemplos en el master_container.

## Programa de hello world:

```
#include<stdio.h>
#include<string.h>
#include<mpi.h>
int main(){
    int max_string=100;
    char greeting[max_string];
    int comm_sz;
    int my_rank;
    int q;
    MPI_Init(NULL,NULL);
    MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    if(my_rank!=0){
     sprintf(greeting, "Hola del procesador %d de %d!", my_rank, comm_sz);
     MPI_Send(greeting, strlen(greeting)+1,MPI_CHAR,0,0,MPI_COMM_WORLD);    
    }else{
     printf("Hola del procesador %d de %d!\n", my_rank, comm_sz);
     for(q=1;q<comm_sz;q++){
      MPI_Recv(greeting, max_string, MPI_CHAR,q,0,MPI_COMM_WORLD,MPI_STATUS_IGNORE);
      printf("%s\n",greeting);
     }
    }
    MPI_Finalize();
return 0;
}
```

Compilar:

```
$mpicc hello_clase.c -o hello_clase.out
```
Ejecutar con un sólo procesador:

```
mpiexec -n 5 hello_clase.out
```
<commit_msg>updating readme for openmpi examples<commit_after># Ejemplos con openmpi

Para los siguientes ejemplos, se supone que se ha [levantado un cluster de forma pseudo distribuida con openMPI y docker](../). 

Se compilarán y ejecutarán los ejemplos en el master_container.

## Programa de hello world:

```
#include<stdio.h>
#include<string.h>
#include<mpi.h>
int main(){
    int max_string=100;
    char greeting[max_string];
    int comm_sz;
    int my_rank;
    int q;
    MPI_Init(NULL,NULL);
    MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    if(my_rank!=0){
     sprintf(greeting, "Hola del procesador %d de %d!", my_rank, comm_sz);
     MPI_Send(greeting, strlen(greeting)+1,MPI_CHAR,0,0,MPI_COMM_WORLD);    
    }else{
     printf("Hola del procesador %d de %d!\n", my_rank, comm_sz);
     for(q=1;q<comm_sz;q++){
      MPI_Recv(greeting, max_string, MPI_CHAR,q,0,MPI_COMM_WORLD,MPI_STATUS_IGNORE);
      printf("%s\n",greeting);
     }
    }
    MPI_Finalize();
return 0;
}
```

Compilar:

```
$mpicc hello_clase.c -o hello_clase.out
```
Ejecutar con un sólo procesador:

```
$mpiexec -n 5 hello_clase.out
```

{'fraction_non_alphanumeric': 0.13406113537117903, 'fraction_numerical': 0.00960698689956332, 'mean_word_length': 4.102449888641425, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6881076', 'n_tokens_mistral': 972, 'n_tokens_neox': 942, 'n_words': 204}