Quantcast
Channel: Intel® Software - OpenCL*
Viewing all articles
Browse latest Browse all 1182

GPU HD4600 OpenCL SPIR compilation problem

$
0
0

I use OpenCL SPIR for two algorithms, each one has templated functions for uchar, ushort, uint, float and double (templates are implemented via defines/includes). So I have two SPIR binaries, each contains code with specializations for these types.

But I have problems while compiling OpenCL program from SPIR binaries on Intel HD 4600 (actual driver 10.18.14.4414, 23.03.2016, Windows 8.1):

1. First algorithm fails to compile with following message:

error: IGILTargetLowering::LowerCall(): unhandled function call!
Call made to: _truncdfsf2()
0x1c9d2c50: i64 = ExternalSymbol'
_truncdfsf2'
error: midlevel compiler failed build.

2. Second one fails to compile with:

error: IGILTargetLowering::LowerCall(): unhandled function call!
Call made to: _ltdf2()
0x266e2520: i64 = ExternalSymbol'
_ltdf2'
error: midlevel compiler failed build.

As I understand - _truncdfsf2 is a double->float conversion and _ltdf2 is a "lesser than" operator for doubles. So I removed double support from algorithms and now I have:

1. The first one leads to driver crash and system hangs up on clBuildProgram call.

2. The second one works good.

So the question is - why these two external symbols can't be found?

Thread Topic: 

Bug Report

Viewing all articles
Browse latest Browse all 1182

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>