Newer
Older
#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);
}