- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey guys,
Working on a kernel that uses the OpenCL 128-bit 'unsigned long long' datatype, the compiler errors out when fed too many XOR-swap with modulus operations using operands of this type.
Proof of concept kernel:
__kernel void test(__private const uint test) {
// 128-bit unsigned integers.
__private unsigned long long a, b;
a = 15;
b = 103;
while (a != 0) {
// XOR-swap.
a ^= b;
b ^= a;
a ^= b;
// MOD.
a %= b;
}
}
Output when compiling (Intel OpenCL CPU Runtime 18.1, Linux):
**Internal compiler error** Program used external function '__umodti3' which could not be resolved!
Please report the issue on Intel OpenCL forum
https://software.intel.com/en-us/forums/opencl for assistance.
Aborted (core dumped)
Kernels not using 'unsigned long long' run fine on same system.
Any help is appreciated
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Can you try the latest OpenCL CPU RT 2022.0? You can download it from https://www.intel.com/content/www/us/en/developer/articles/technical/intel-cpu-runtime-for-opencl-applications-with-sycl-support.html
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We haven't heard back from you for a long time so we are assuming that the provided details helped you in solving your problem. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
Thanks
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page