From 01c1c02648a8a3a13a829fb764de4d43a34bc726 Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Mon, 14 Jun 2021 02:01:44 -0400 Subject: [PATCH] opencl printf test --- tests/opencl/printf/Makefile | 63 ++++++++++++ tests/opencl/printf/kernel.cl | 6 ++ tests/opencl/printf/kernel.pocl | Bin 0 -> 220039 bytes tests/opencl/printf/main.cc | 173 ++++++++++++++++++++++++++++++++ 4 files changed, 242 insertions(+) create mode 100644 tests/opencl/printf/Makefile create mode 100644 tests/opencl/printf/kernel.cl create mode 100644 tests/opencl/printf/kernel.pocl create mode 100644 tests/opencl/printf/main.cc diff --git a/tests/opencl/printf/Makefile b/tests/opencl/printf/Makefile new file mode 100644 index 00000000..88eafa1c --- /dev/null +++ b/tests/opencl/printf/Makefile @@ -0,0 +1,63 @@ +LLVM_PREFIX ?= /opt/llvm-riscv +RISCV_TOOLCHAIN_PATH ?= /opt/riscv-gnu-toolchain +SYSROOT ?= $(RISCV_TOOLCHAIN_PATH)/riscv32-unknown-elf +POCL_CC_PATH ?= /opt/pocl/compiler +POCL_RT_PATH ?= /opt/pocl/runtime + +OPTS ?= -n1 + +VORTEX_DRV_PATH ?= $(realpath ../../../driver) +VORTEX_RT_PATH ?= $(realpath ../../../runtime) + +K_LLCFLAGS += "-O3 -march=riscv32 -target-abi=ilp32f -mcpu=generic-rv32 -mattr=+m,+f -float-abi=hard -code-model=small" +K_CFLAGS += "-v -O3 --sysroot=$(SYSROOT) --gcc-toolchain=$(RISCV_TOOLCHAIN_PATH) -march=rv32imf -mabi=ilp32f -I$(VORTEX_RT_PATH)/include -fno-rtti -fno-exceptions -ffreestanding -nostartfiles -fdata-sections -ffunction-sections" +K_LDFLAGS += "-Wl,-Bstatic,-T$(VORTEX_RT_PATH)/linker/vx_link.ld -Wl,--gc-sections $(VORTEX_RT_PATH)/libvortexrt.a -lm" + +CXXFLAGS += -std=c++11 -O2 -Wall -Wextra -Wfatal-errors +#CXXFLAGS += -std=c++11 -O0 -g -Wall -Wextra -Wfatal-errors + +CXXFLAGS += -Wno-deprecated-declarations -Wno-unused-parameter + +CXXFLAGS += -I$(POCL_RT_PATH)/include + +LDFLAGS += -L$(POCL_RT_PATH)/lib -L$(VORTEX_DRV_PATH)/stub -lOpenCL -lvortex + +PROJECT = printf + +SRCS = main.cc + +all: $(PROJECT) kernel.pocl + +kernel.pocl: kernel.cl + LLVM_PREFIX=$(LLVM_PREFIX) POCL_DEBUG=all LD_LIBRARY_PATH=$(LLVM_PREFIX)/lib:$(POCL_CC_PATH)/lib $(POCL_CC_PATH)/bin/poclcc -LLCFLAGS $(K_LLCFLAGS) -CFLAGS $(K_CFLAGS) -LDFLAGS $(K_LDFLAGS) -o kernel.pocl kernel.cl + +$(PROJECT): $(SRCS) + $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ + +run-fpga: $(PROJECT) kernel.pocl + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-asesim: $(PROJECT) kernel.pocl + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-vlsim: $(PROJECT) kernel.pocl + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/opae/vlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-simx: $(PROJECT) kernel.pocl + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/simx:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +run-rtlsim: $(PROJECT) kernel.pocl + LD_LIBRARY_PATH=$(POCL_RT_PATH)/lib:$(VORTEX_DRV_PATH)/rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) $(OPTS) + +.depend: $(SRCS) + $(CXX) $(CXXFLAGS) -MM $^ > .depend; + +clean: + rm -rf $(PROJECT) *.o .depend + +clean-all: clean + rm -rf *.pocl *.dump + +ifneq ($(MAKECMDGOALS),clean) + -include .depend +endif diff --git a/tests/opencl/printf/kernel.cl b/tests/opencl/printf/kernel.cl new file mode 100644 index 00000000..24a03a5c --- /dev/null +++ b/tests/opencl/printf/kernel.cl @@ -0,0 +1,6 @@ +__kernel void test_printf (__global const int *A) +{ + int gid = get_global_id(0); + int value = A[gid]; + printf("Print Test! value[%d]=%d\n", gid, value); +} \ No newline at end of file diff --git a/tests/opencl/printf/kernel.pocl b/tests/opencl/printf/kernel.pocl new file mode 100644 index 0000000000000000000000000000000000000000..58e103aa8c7b800a1e7dbdf1f06629832c11e194 GIT binary patch literal 220039 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ð3;&|n8g@Xs~GP_#v51Umg`0D+9&3BXR|+*3-PUZ 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

l}+ZIO(_{P)%nbFhXbN5c+f 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 MjJBVTM)&Uj1#WLervLx| literal 0 HcmV?d00001 diff --git a/tests/opencl/printf/main.cc b/tests/opencl/printf/main.cc new file mode 100644 index 00000000..5be62a71 --- /dev/null +++ b/tests/opencl/printf/main.cc @@ -0,0 +1,173 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define KERNEL_NAME "test_printf" + +#define CL_CHECK(_expr) \ + do { \ + cl_int _err = _expr; \ + if (_err == CL_SUCCESS) \ + break; \ + printf("OpenCL Error: '%s' returned %d!\n", #_expr, (int)_err); \ + cleanup(); \ + exit(-1); \ + } while (0) + +#define CL_CHECK2(_expr) \ + ({ \ + cl_int _err = CL_INVALID_VALUE; \ + decltype(_expr) _ret = _expr; \ + if (_err != CL_SUCCESS) { \ + printf("OpenCL Error: '%s' returned %d!\n", #_expr, (int)_err); \ + cleanup(); \ + exit(-1); \ + } \ + _ret; \ + }) + +static int read_kernel_file(const char* filename, uint8_t** data, size_t* size) { + if (nullptr == filename || nullptr == data || 0 == size) + return -1; + + FILE* fp = fopen(filename, "r"); + if (NULL == fp) { + 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; +} + +cl_device_id device_id = NULL; +cl_context context = NULL; +cl_command_queue commandQueue = NULL; +cl_program program = NULL; +cl_kernel kernel = NULL; +cl_mem a_memobj = NULL; +int *h_a = NULL; +uint8_t *kernel_bin = NULL; + +static void cleanup() { + if (commandQueue) clReleaseCommandQueue(commandQueue); + if (kernel) clReleaseKernel(kernel); + if (program) clReleaseProgram(program); + if (a_memobj) clReleaseMemObject(a_memobj); + if (context) clReleaseContext(context); + if (device_id) clReleaseDevice(device_id); + + if (kernel_bin) free(kernel_bin); + if (h_a) free(h_a); +} + +int size = 64; + +static void show_usage() { + printf("Usage: [-n size] [-h: help]\n"); +} + +static void parse_args(int argc, char **argv) { + int c; + while ((c = getopt(argc, argv, "n:h?")) != -1) { + switch (c) { + case 'n': + size = atoi(optarg); + break; + case 'h': + case '?': { + show_usage(); + exit(0); + } break; + default: + show_usage(); + exit(-1); + } + } + + printf("Workload size=%d\n", size); +} + +int main (int argc, char **argv) { + // parse command arguments + parse_args(argc, argv); + + cl_platform_id platform_id; + size_t kernel_size; + cl_int binary_status; + + // read kernel binary from file + if (0 != read_kernel_file("kernel.pocl", &kernel_bin, &kernel_size)) + return -1; + + // 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)); + + printf("Create context\n"); + context = CL_CHECK2(clCreateContext(NULL, 1, &device_id, NULL, NULL, &_err)); + + printf("Allocate device buffers\n"); + size_t nbytes = size * sizeof(float); + a_memobj = CL_CHECK2(clCreateBuffer(context, CL_MEM_READ_ONLY, nbytes, NULL, &_err)); + + printf("Create program from kernel source\n"); + program = CL_CHECK2(clCreateProgramWithBinary( + context, 1, &device_id, &kernel_size, (const uint8_t**)&kernel_bin, &binary_status, &_err)); + if (program == NULL) { + cleanup(); + return -1; + } + + // Build program + CL_CHECK(clBuildProgram(program, 1, &device_id, NULL, NULL, NULL)); + + // Create kernel + kernel = CL_CHECK2(clCreateKernel(program, KERNEL_NAME, &_err)); + + // Set kernel arguments + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), (void *)&a_memobj)); + + // Allocate memories for input arrays and output arrays. + h_a = (int*)malloc(nbytes); + + // Initialize values for array members. + for (int i = 0; i < size; ++i) { + h_a[i] = -1 + i; + } + + // Creating command queue + commandQueue = CL_CHECK2(clCreateCommandQueue(context, device_id, 0, &_err)); + + printf("Upload source buffers\n"); + CL_CHECK(clEnqueueWriteBuffer(commandQueue, a_memobj, CL_TRUE, 0, nbytes, h_a, 0, NULL, NULL)); + + printf("Execute the kernel\n"); + size_t global_work_size[1] = {size}; + size_t local_work_size[1] = {1}; + auto time_start = std::chrono::high_resolution_clock::now(); + CL_CHECK(clEnqueueNDRangeKernel(commandQueue, kernel, 1, NULL, global_work_size, local_work_size, 0, NULL, NULL)); + CL_CHECK(clFinish(commandQueue)); + auto time_end = std::chrono::high_resolution_clock::now(); + double elapsed = std::chrono::duration_cast(time_end - time_start).count(); + printf("Elapsed time: %lg ms\n", elapsed); + + printf("PASSED!\n"); + + // Clean up + cleanup(); + + return 0; +}