- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh, I understand, Intel HD doesn't support cl_khr_fp64 extension :(

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page