vecadd bug fixing + ebreak for termination

This commit is contained in:
fares
2019-11-15 14:18:45 -05:00
parent cb30a71deb
commit 19dba43849
13 changed files with 198095 additions and 574679 deletions

View File

@@ -14,7 +14,7 @@ VX_IO = ../../io/vx_io.s ../../io/vx_io.c
VX_API = ../../vx_api/vx_api.c
VX_TEST = ../../tests/tests.c
VX_FIO = ../../fileio/fileio.s
LIBS = ./libs/libvecadd.a ./libs/libOpenCL.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
LIBS = ./libs/libvecadd.a /home/fares/dev/pocl/drops_riscv_rt/lib/static/libOpenCL.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
VX_MAIN = vx_pocl_main

View File

@@ -55,8 +55,17 @@ static int g_num_kernels = 0;
static kernel_info_t g_kernels [MAX_KERNELS];
int _pocl_register_kernel(const char* name, const void* pfn, uint32_t num_args, uint32_t num_locals, const uint8_t* arg_types, const uint32_t* local_sizes) {
printf("******** _pocl_register_kernel\n");
printf("Name to register: %s\n", name);
printf("PTR of name: %x\n", name);
if (g_num_kernels == MAX_KERNELS)
return -1;
{
printf("ERROR: REACHED MAX KERNELS\n");
return -1;
}
printf("Going to register at index: %d\n", g_num_kernels);
kernel_info_t* kernel = g_kernels + g_num_kernels++;
kernel->name = name;
kernel->pfn = pfn;
@@ -64,14 +73,23 @@ int _pocl_register_kernel(const char* name, const void* pfn, uint32_t num_args,
kernel->num_locals = num_locals;
kernel->arg_types = arg_types;
kernel->local_sizes = local_sizes;
printf("New kernel name: %s\n", kernel->name);
return 0;
}
int _pocl_query_kernel(const char* name, const void** p_pfn, uint32_t* p_num_args, uint32_t* p_num_locals, const uint8_t** p_arg_types, const uint32_t** p_local_sizes) {
printf("********* Inside _pocl_query_kernel\n");
printf("name: %s\n", name);
printf("g_num_kernels: %d\n", g_num_kernels);
for (int i = 0; i < g_num_kernels; ++i) {
printf("Currently quering index %d\n", i);
kernel_info_t* kernel = g_kernels + i;
if (strcmp(kernel->name, name) != 0)
{
printf("STR CMP failed! kernel->name = %s \t name: %s\n", kernel->name, name);
continue;
}
printf("!!!!!!!!!STR CMP PASSED\n");
if (p_pfn) *p_pfn = kernel->pfn;
if (p_num_args) *p_num_args = kernel->num_args;
if (p_num_locals) *p_num_locals = kernel->num_locals;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff