minor update

This commit is contained in:
Blaise Tine 2024-05-06 01:43:59 -07:00
parent 009861433a
commit da272064b5
3 changed files with 37 additions and 19 deletions

View file

@ -19,6 +19,9 @@ all:
$(MAKE) -C kmeans
$(MAKE) -C blackscholes
$(MAKE) -C bfs
$(MAKE) -C sgemm2
$(MAKE) -C sgemm3
$(MAKE) -C psum
run-simx:
$(MAKE) -C vecadd run-simx
@ -38,6 +41,9 @@ run-simx:
$(MAKE) -C kmeans run-simx
$(MAKE) -C blackscholes run-simx
$(MAKE) -C bfs run-simx
$(MAKE) -C sgemm2 run-simx
$(MAKE) -C sgemm3 run-simx
$(MAKE) -C psum run-simx
run-rtlsim:
$(MAKE) -C vecadd run-rtlsim
@ -57,6 +63,9 @@ run-rtlsim:
$(MAKE) -C kmeans run-rtlsim
$(MAKE) -C blackscholes run-rtlsim
$(MAKE) -C bfs run-rtlsim
$(MAKE) -C sgemm2 run-rtlsim
$(MAKE) -C sgemm3 run-rtlsim
$(MAKE) -C psum run-rtlsim
run-opae:
$(MAKE) -C vecadd run-opae
@ -76,6 +85,9 @@ run-opae:
$(MAKE) -C kmeans run-opae
$(MAKE) -C blackscholes run-opae
$(MAKE) -C bfs run-opae
$(MAKE) -C sgemm2 run-opae
$(MAKE) -C sgemm3 run-opae
$(MAKE) -C psum run-opae
clean:
$(MAKE) -C vecadd clean
@ -95,6 +107,9 @@ clean:
$(MAKE) -C kmeans clean
$(MAKE) -C blackscholes clean
$(MAKE) -C bfs clean
$(MAKE) -C sgemm2 clean
$(MAKE) -C sgemm3 clean
$(MAKE) -C psum clean
clean-all:
$(MAKE) -C vecadd clean-all
@ -113,4 +128,7 @@ clean-all:
$(MAKE) -C guassian clean-all
$(MAKE) -C kmeans clean-all
$(MAKE) -C blackscholes clean-all
$(MAKE) -C bfs clean-all
$(MAKE) -C bfs clean-all
$(MAKE) -C sgemm2 clean-all
$(MAKE) -C sgemm3 clean-all
$(MAKE) -C psum clean-all

View file

@ -7,6 +7,6 @@ SRC_DIR := $(VORTEX_HOME)/tests/opencl/$(PROJECT)
SRCS := $(SRC_DIR)/main.cc
OPTS ?= -n32
OPTS ?= -n16
include ../common.mk

View file

@ -4,7 +4,7 @@
#include <CL/opencl.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <unistd.h>
#include <chrono>
#include <vector>
#include <algorithm>
@ -47,16 +47,16 @@ static int read_kernel_file(const char* filename, uint8_t** data, size_t* size)
fprintf(stderr, "Failed to load kernel.");
return -1;
}
fseek(fp , 0 , SEEK_END);
long fsize = ftell(fp);
rewind(fp);
*data = (uint8_t*)malloc(fsize);
*size = fread(*data, 1, fsize, fp);
fclose(fp);
return 0;
}
@ -93,11 +93,11 @@ static void cleanup() {
if (a_memobj) clReleaseMemObject(a_memobj);
if (c_memobj) clReleaseMemObject(c_memobj);
if (context) clReleaseContext(context);
if (device_id) clReleaseDevice(device_id);
if (device_id) clReleaseDevice(device_id);
if (kernel_bin) free(kernel_bin);
}
int size = 32;
int size = 16;
static void show_usage() {
printf("Usage: [-n size] [-h: help]\n");
@ -134,10 +134,10 @@ int main (int argc, char **argv) {
uint32_t num_inputs = size;
uint32_t num_outputs = size / LOCAL_SIZE;
cl_platform_id platform_id;
size_t kernel_size;
// Getting platform and device information
CL_CHECK(clGetPlatformIDs(1, &platform_id, NULL));
CL_CHECK(clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_DEFAULT, 1, &device_id, NULL));
@ -160,13 +160,13 @@ int main (int argc, char **argv) {
if (0 != read_kernel_file("kernel.cl", &kernel_bin, &kernel_size))
return -1;
program = CL_CHECK2(clCreateProgramWithSource(
context, 1, (const char**)&kernel_bin, &kernel_size, &_err));
context, 1, (const char**)&kernel_bin, &kernel_size, &_err));
#else
if (0 != read_kernel_file("kernel.pocl", &kernel_bin, &kernel_size))
return -1;
program = CL_CHECK2(clCreateProgramWithBinary(
context, 1, &device_id, &kernel_size, (const uint8_t**)&kernel_bin, NULL, &_err));
#endif
#endif
if (program == NULL) {
cleanup();
return -1;
@ -174,12 +174,12 @@ int main (int argc, char **argv) {
// Build program
CL_CHECK(clBuildProgram(program, 1, &device_id, NULL, NULL, NULL));
// Create kernel
kernel = CL_CHECK2(clCreateKernel(program, KERNEL_NAME, &_err));
size_t global_size[1] = {size};
size_t local_size[1] = {LOCAL_SIZE};
size_t local_size[1] = {LOCAL_SIZE};
// Set kernel arguments
CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), (void *)&a_memobj));
@ -190,14 +190,14 @@ int main (int argc, char **argv) {
// Allocate memories for input arrays and output arrays.
std::vector<float> h_a(num_inputs);
std::vector<float> h_c(num_outputs);
// Generate input values
for (uint32_t i = 0; i < num_inputs; ++i) {
h_a[i] = static_cast<float>(rand()) / RAND_MAX;
}
// Creating command queue
commandQueue = CL_CHECK2(clCreateCommandQueue(context, device_id, 0, &_err));
commandQueue = CL_CHECK2(clCreateCommandQueue(context, device_id, 0, &_err));
printf("Upload source buffers\n");
CL_CHECK(clEnqueueWriteBuffer(commandQueue, a_memobj, CL_TRUE, 0, i_nbytes, h_a.data(), 0, NULL, NULL));
@ -226,13 +226,13 @@ int main (int argc, char **argv) {
errors = 1;
}
if (errors != 0) {
printf("FAILED! - %d errors\n", errors);
printf("FAILED! - %d errors\n", errors);
} else {
printf("PASSED!\n");
}
// Clean up
cleanup();
// Clean up
cleanup();
return errors;
}