Compile un programa en C con GCC, para que pueda usar todos los núcleos de CPU en Linux
Tengo un programa C de muestra para agregar. Cuando lo compilo y lo ejecuto con GCC, solo usa un núcleo de CPU.
¿Hay alguna forma de compilar un programa en C para que pueda usar todos los núcleos de CPU en Linux?
Solía compilar comogcc -O3 malloc.c
Código:
#include <stdio.h>
#include <time.h>
#include <malloc.h>
int main() {
float *ptr;
unsigned long long i;
ptr = (float*) malloc(8000000000 * sizeof(float));
for(i=0; i<8000000000; i++) {
ptr[i] = i/10000;
}
clock_t tic = clock();
for(i=0; i<8000000000; i++) {
ptr[i] = (i/10000)+1.0;
}
clock_t toc = clock();
printf("Elapsed: %f seconds\n", (double)(toc - tic) / CLOCKS_PER_SEC);
return 0;
}