Added performance test for memcpy
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#include"test_common.h"
|
||||
#include<iostream>
|
||||
#include<time.h>
|
||||
|
||||
#define NUM_SIZE 8
|
||||
#define NUM_ITER 12
|
||||
static size_t size[NUM_SIZE];
|
||||
|
||||
void setup(){
|
||||
for(int i=0;i<NUM_SIZE;i++){
|
||||
size[i] = 1<<(i+6); // start at 8 bytes
|
||||
}
|
||||
}
|
||||
|
||||
void valSet(int *A, int val, size_t size){
|
||||
size_t len = size/sizeof(int);
|
||||
for(int i=0;i<len;i++){
|
||||
A[i] = val;
|
||||
}
|
||||
}
|
||||
|
||||
int main(){
|
||||
setup();
|
||||
int *A, *Ad;
|
||||
for(int i=0;i<NUM_SIZE;i++){
|
||||
std::cout<<size[i]<<std::endl;
|
||||
A = (int*)malloc(size[i]);
|
||||
valSet(A, 1, size[i]);
|
||||
hipMalloc(&Ad, size[i]);
|
||||
std::cout<<"Malloc success at size: "<<size[i]<<std::endl;
|
||||
clock_t start ,end;
|
||||
start = clock();
|
||||
for(int i=0;i<NUM_ITER;i++){
|
||||
hipMemcpy(Ad, A, size[i], hipMemcpyHostToDevice);
|
||||
}
|
||||
hipDeviceSynchronize();
|
||||
end = clock();
|
||||
double uS = (double)(end - start)*1000/(NUM_ITER*CLOCKS_PER_SEC);
|
||||
std::cout<<uS<<std::endl;
|
||||
}
|
||||
}
|
||||
Fai riferimento in un nuovo problema
Block a user