OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1678 Discussions

**Internal compiler error** Program used external function '__umodti3' which could not be resolved!

kzwarthoed
Beginner
476 Views

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

Labels (1)
0 Kudos
2 Replies
cw_intel
Moderator
326 Views

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-ap...


Thanks


cw_intel
Moderator
268 Views

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


Reply