inducer / inducer/loopy

conj() generates broken code for non-complex types

Open
#401 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
636
Forks
81
Avg merge
1d 19h
Merged PRs (30d)
7

Description

Working code for complex conj():

```c
#define lid(N) ((int) get_local_id(N))
#define gid(N) ((int) get_group_id(N))
#if __OPENCL_C_VERSION__ < 120
#pragma OPENCL EXTENSION cl_khr_fp64: enable
#endif
#define PYOPENCL_DEFINE_CDOUBLE

#include

__kernel void __attribute__ ((reqd_work_group_size(1, 1, 1))) _pt_kernel(__global cdouble_t const *__restrict__ _pt_in, __global cdouble_t *__restrict__ _pt_out)
{
for (int _pt_out_dim0 = 0; _pt_out_dim0 <= 9; ++_pt_out_dim0)
_pt_out[_pt_out_dim0] = cdouble_conj(_pt_in[_pt_out_dim0]);
}
```

For float conj():

```c
#define lid(N) ((int) get_local_id(N))
#define gid(N) ((int) get_group_id(N))
#if __OPENCL_C_VERSION__ < 120
#pragma OPENCL EXTENSION cl_khr_fp64: enable
#endif

__kernel void __attribute__ ((reqd_work_group_size(1, 1, 1))) _pt_kernel(__global double const *__restrict__ _pt_in, __global double *__restrict__ _pt_out)
{
for (int _pt_out_dim0 = 0; _pt_out_dim0 <= 9; ++_pt_out_dim0)
_pt_out[_pt_out_dim0] = conj(_pt_in[_pt_out_dim0]);
}
```

```
pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE

Build on :

error: /Users/mdiener/.cache/pocl/kcache/tempfile-f5-be-04-9b-fb.cl:10:29: implicit declaration of function 'conj' is invalid in OpenCL
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.