diff --git a/random_hw.c b/random_hw.c new file mode 100644 index 0000000000000000000000000000000000000000..7a927f556c36a4e28ab953a27610271879c545a3 --- /dev/null +++ b/random_hw.c @@ -0,0 +1,33 @@ +#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); +} \ No newline at end of file