Compile um programa C com o GCC, para que ele possa usar todos os núcleos da CPU no linux

Eu tenho um programa C de amostra para adição. Quando eu compilar e executar com o GCC, ele estará usando apenas um núcleo da CPU.

Existe alguma maneira de compilar um programa C para que ele possa usar todos os núcleos da CPU no Linux.

Eu costumava 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;
}

questionAnswers(4)

yourAnswerToTheQuestion