Skip to content
Snippets Groups Projects
random_hw.c 571 B
Newer Older
  • Learn to ignore specific revisions
  • Branislav Jansik's avatar
    Branislav Jansik committed
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    #define MB 131072
    
    int main(int argc, char **argv)
    {
    int j,jmax=0;
    
    if (argc >1) jmax = atoi(argv[1]);
    
    #pragma omp parallel for default(none) shared(jmax,stdout) private(j) schedule(dynamic,1)
    for (j=0; j<jmax; j++)
    {
    uint64_t rndval[MB];
    int i;
    
    for(i=0; i<MB; i+=1)
    __asm__(
            "cftest:\n\t"
            "rdrand %%r8\n\t"
            "jnc cftest \n\t"
            "movq  %%r8,    (%0)\n\t"
            : : "r" (rndval+i) :
            "cc", "r8", "memory");
    
    
    #pragma omp critical
    fwrite(rndval,8,MB,stdout);
    }
    
    return(0);
    }