unsigned char unsigned int unsigned long 4 SIMD

  • Slides: 38
Download presentation

Целые числа без знака (unsigned char, unsigned int, unsigned long) 4

Целые числа без знака (unsigned char, unsigned int, unsigned long) 4

SIMD (Single Instruction Multiple Data) 17

SIMD (Single Instruction Multiple Data) 17

Пример использования функции clock #include <stdio. h> #include <time. h> int main() { double

Пример использования функции clock #include <stdio. h> #include <time. h> int main() { double pi; clock_t t; t=clock(); // начало замера времени pi = pi_calculate(); t=clock()-t; // окончание замера времени printf("Time: %lf msec Pi = %lfn", t*1000. 0/CLK_TCK, pi); return 0; } 23

Пример использования функции gettimeofday #include <sys/time. h> struct timeval tv 1, tv 2, dtv;

Пример использования функции gettimeofday #include <sys/time. h> struct timeval tv 1, tv 2, dtv; struct timezone tz; void time_start() { gettimeofday(&tv 1, &tz); } double time_stop() { gettimeofday(&tv 2, &tz); dtv. tv_sec= tv 2. tv_sec - tv 1. tv_sec; dtv. tv_usec=tv 2. tv_usec - tv 1. tv_usec; if(dtv. tv_usec<0) { dtv. tv_sec--; dtv. tv_usec+=1000000; } return dtv. tv_sec*1000. 0+dtv. tv_usec/1000. 0; } 26

Пример использования функции gettimeofday #include <stdio. h> int main() { double pi; time_start(); //

Пример использования функции gettimeofday #include <stdio. h> int main() { double pi; time_start(); // начало замера времени pi = pi_calculate(); // окончание замера времени printf("Time: %lf msec Pi = %lfn", time_stop(), pi); return 0; } 27

Пример использования функции times #include <sys/times. h> #include <time. h> struct tms. Begin, tms.

Пример использования функции times #include <sys/times. h> #include <time. h> struct tms. Begin, tms. End; void time_start() { times(&tms. Begin); } double time_stop() { times(&tms. End); return ((tms. End. tms_utime-tms. Begin. tms_utime)+ (tms. End. tms_stimetms. Begin. tms_stime))*1000. 0/CLK_TCK; } 30

Пример использования функции times #include <stdio. h> int main() { double pi; time_start(); //

Пример использования функции times #include <stdio. h> int main() { double pi; time_start(); // начало замера времени pi = pi_calculate(); // окончание замера времени printf("Time: %lf msec Pi = %lfn", time_stop(), pi); return 0; } 31

Функции Query. Performance. Frequency и Query. Performance. Counter #include <stdio. h> #include <windows. h>

Функции Query. Performance. Frequency и Query. Performance. Counter #include <stdio. h> #include <windows. h> int main() { LARGE_INTEGER b_start, b_stop, b_time, freq; double time, pi; Query. Performance. Frequency(&freq); Query. Performance. Counter(&b_start); pi = pi_calculate(); Query. Performance. Counter(&b_stop); b_time. Quad. Part = b_stop. Quad. Part - b_start. Quad. Part; time = (double)(b_time. Quad. Part)/(double)(freq. Quad. Part); printf("Time: %lf sec Pi = %lfn", time, pi); return 0; } 34