Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17241 Discussions

double16 support on Altera

Altera_Forum
Honored Contributor II
1,578 Views

Hi,  

 

Does the currently Altera OpenCL s/w stack support the double16 datatype? The OpenCL 1.0 spec seems to imply that it could be.  

 

I'm currently getting errors from the compiler such as : 

 

aoc: Environment checks are completed successfully. 

You are now compiling the full flow!! 

aoc: Selected target board pcie385n_d5 

aoc: Running OpenCL parser.... 

aoc: OpenCL parser completed successfully. 

aoc: Compiling.... 

0 libLLVM-3.0.so 0x00007f0357c85ddf 

1 libLLVM-3.0.so 0x00007f0357c86be7 

2 libpthread.so.0 0x000000315240f500 

3 libc.so.6 0x00000031520328a5 gsignal + 53 

4 libc.so.6 0x0000003152034085 abort + 373 

5 libLLVM-3.0.so 0x00007f03570f751c 

6 libLLVM-3.0.so 0x00007f0357106ff7 

7 libLLVM-3.0.so 0x00007f03570dc468 llvm::FPPassManager::runOnFunction(llvm::Function&) + 520 

8 libLLVM-3.0.so 0x00007f03570dc5ab llvm::FPPassManager::runOnModule(llvm::Module&) + 75 

9 libLLVM-3.0.so 0x00007f03570dbf78 llvm::MPPassManager::runOnModule(llvm::Module&) + 472 

10 libLLVM-3.0.so 0x00007f03570dc135 llvm::PassManagerImpl::run(llvm::Module&) + 165 

11 libLLVM-3.0.so 0x00007f03570dc24d llvm::PassManager::run(llvm::Module&) + 13 

12 aocl-opt 0x000000000041c0c5 main + 7045 

13 libc.so.6 0x000000315201ecdd __libc_start_main + 253 

14 aocl-opt 0x000000000040e5e9 

Stack dump: 

0. Program arguments: <lots of text> 

1. Running pass 'Function Pass Manager' on module 'kernel_name_knl.1.bc'. 

2. Running pass 'Module Verifier' on function '@kernel_name_ocl_kernel' 

Error: Optimizer FAILED. 

 

 

Many thanks in advance
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
696 Views

Currently the compiler is not double precision compliant but you can still use all the double types (double16 included). Basically that just means that from between now and when the compiler is double precision compliant you *may* see small variations in the results, which is similar to what you sometimes see when porting code between different CPU archetictures. 

 

Double check the version that you are using, you may be running into a known bug that has already been fixed. You can check the version by running "aoc --version". The latest version is 13.1.4 which is 13.1 with update 4 installed. There is a sticky post at the top of this forum about the updates and where to go to download them.
0 Kudos
Altera_Forum
Honored Contributor II
696 Views

Hi BadOmen,  

 

Thanks for the update. I've patched my install of the aoc compiler as you suggested. aoc --version now gives "Version 13.1.4 Build 182" 

 

However unfortunately I'm still getting the same problem as before. Any ideas on how to resolve it? 

 

Many thanks
0 Kudos
Altera_Forum
Honored Contributor II
696 Views

Hello, 

 

What makes you think the double16 datatype causes the compilation to fail ? I can't find any clue of that in the output you provided. 

You could try to write a basic kernel that uses double16, and see if it compiles. 

 

koper
0 Kudos
Altera_Forum
Honored Contributor II
696 Views

Hi Koper, 

 

Ive successfully already ported the kernel from double1 -> double2 -> double4 -> double8 without any significant problems its only when I started using the double16 datatype that I encountered this problem. Which lead me to the conclusion that it must be something to do with it or at least my use of it. Hence the post to see if other have had similar experiences. Has anyone successfully used double16? 

 

I guess I could put together a very simple kernel which does a very simple operation however this probably won't help me track down why I'm getting this error, the kernel I'm using is already pretty simple and I'm not sure that a further simplified one would be fully representative of the situation. I'd prefer to understand what this error actually means and therefore what could be causing it. It doesn't look like its a syntax issue with what I've written more something within the compiler.  

 

Thanks
0 Kudos
Altera_Forum
Honored Contributor II
696 Views

Is the portion of the kernel using double16 types fairly small and something you can post to the forum? If you can't post it publically but can share it with Altera I recommend attaching the kernel to a service request so that the apps team can take a look to see what's causing it and potentially offer a workaround.

0 Kudos
Reply