Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all 2797 articles
Browse latest View live

Problem during activation

$
0
0

Dear all,

I am facing a problem with a installation of the Educator Intel Parallel Studio XE Composer Edition for C++ macOS, essentially I am not able to active the product before installation.

In the registration center I can see that I have a valid serial number for such product until 2019. First I try to enter such number and the following message appears : "License cannot be verified, license server is not responding". Then I try again and the installation program says: "The serial number syntax is not valid". As a last resort I tried to generate the license file and use an offline activation approach, but now the installer shows the following message: "The license file(s) you provided is not valid for this product".

I have tried the installation on several networks (due to the server message) and systems without luck. I must say that I also have the Fortran version for macOS and it installs and activates without issues. I have not found anything strange in the Registration Center, the serial number is still valid until May 2019. Thanks for your help.

 


Intel C++ Compiler: System Studio 2019 vs Parallel Studio 2019

$
0
0

Greetings,

Could you please direct me to a comparison of the C++ compilers from System Studio vs Parallel Studio 2019?

Are the IPP packages the same too?

 

Thanks in advance

 

TBB Intel C++ Compiler fails

$
0
0

Attempt to compile TBB using Visual Studio 2017 with the Intel C++ 18.0 compiler fails in both Release and Debug modes with the following message:

1>------ Build started: Project: tbb, Configuration: Release x64 ------

1>w6.tbb.cpp

1>": : error : ** The compiler has encountered an unexpected problem.

1>** Segmentation violation signal raised. **

1>Access violation or stack overflow. Please contact Intel Support for assistance.

1>

1>Done building project "tbb.vcxproj" -- FAILED.

========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

 

w6.tbb.i file is attached. Short and long text files are also attached.

Switching to the Microsoft Visual Studio compiler compiles successfully.

Is this still a bug?

Thanks,

Chris 

Is library libirc.a open source?

$
0
0

Hi, guys

    I do a project in linux and my project uses the intel's optimized library.  The function `__intel_avx_rep_memcpy` is impelemented in libirc.a. I dissemble `__intel_avx_rep_memcpy`, there is a jump table to deal with the different memory size to do the fast memory copy.   But I am curious as to why this jump table is not in `.rodata` section but in `.text` section?   I want to get the source code to find the answer, but i cann't find the souce code.

Is library libirc.a not open source? and Why does this jump table locate the `.text` section?

Is libm.so always linked by default?

$
0
0

Hi, guys!

$ cat test.cpp

int main() {

   return 0;

}

$ icpc test.cpp -o test.exe

$ lddtree test.exe

test.exe => ./test.exe (interpreter => /lib64/ld-linux-x86-64.so.2)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
        ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2

test.cpp doesn't use any math, but libm.so still participates in the linking. Why?

By the way, when test.cpp is built with g++, then there's no dependency on the libm library.

What is the standard way to remove this redundant dependency?

I would also like to know why this dependency isn't being dropped during the linking stage by the linker itself?

 

 

error : assertion failed at: "shared/cfe/edgcpfe/il.c", line 16005

$
0
0

Trying to build nodejs  using Intel C++ Compiler. Not going so well. First I had an issue very similar to https://software.intel.com/en-us/forums/intel-c-compiler/topic/733662 related to ICU and UTF8. I fixed it with    -Qoption,cpp,--unicode_source_kind,"UTF-8"  (is a utf-8 flag coming soon?) 

Now I've hit errors building the v8 directory. Note first that Visual C++ compiler works fine in building nodejs. My issues are best illustrated by actually running vcbuild.bat from the nodejs github repository (to get a Visual Studio solution file), and then opening up the sln generated, converting it to Intel C++, and building it.

 

 

Some errors I've been getting

7>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
7>
7>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
7>
7>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function





.....




7>    C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.

...

7>  Done executing task "ICL" -- FAILED.
7>Done building target "ClCompile" in project "v8_libsampler.vcxproj" -- FAILED.

...
7>Done building project "v8_libsampler.vcxproj" -- FAILED.


7>Build FAILED.
7>
7>C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
7>    0 Warning(s)
7>    1 Error(s)
7>
7>Time Elapsed 00:00:03.56


Another set of problems

16>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
16>
16>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
16>
16>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
16>

...

16>    C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(236,5): error MSB6006: "icl.exe" exited with code 2.
16>  Done executing task "ICL" -- FAILED.
16>Done building target "ClCompile" in project "v8_base.vcxproj" -- FAILED.
16>
16>Done building project "v8_base.vcxproj" -- FAILED.
16>




.....


19>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
19>
17>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
17>
17>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
17>
17>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
17>
18>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function

...


19>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function

...

19>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function

...

19>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
19>

...

19>    C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
19>  Done executing task "ICL" -- FAILED.
19>Done building target "ClCompile" in project "v8_nosnapshot.vcxproj" -- FAILED.
19>
19>Done building project "v8_nosnapshot.vcxproj" -- FAILED.


...

17>    compilation aborted for ..\src\setup-isolate-full.cc (code 2)
17>    del Z:\USER\TMP\409961tempfile3
17>    del Z:\USER\TMP\409962arg4
17>    del Z:\USER\TMP\dshFE51.tmp
17>    C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
17>  Done executing task "ICL" -- FAILED.
17>Done building target "ClCompile" in project "v8_init.vcxproj" -- FAILED.
17>
17>Done building project "v8_init.vcxproj" -- FAILED.
17>

...

18>    builtins-collections-gen.cc
18>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function

...

18>    C:\Github\node\deps\v8\src\x64\assembler-x64.h(120): error : assertion failed at: "shared/cfe/edgcpfe/il.c", line 16005
18>
18>          Register::ListOf<rax, rcx, rdx,
18>          ^
18>
18>    builtins-array-gen.cc
18>    Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18>    Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function

 

 

Note that towards the end of the above snippet is where the topic title "error: assertion failed..." comes from.

 

Then there are a bunch of repeat errors for 18> above, but there is also this:

18>    C:\Github\node\deps\v8\src\x64\assembler-x64.h(120): error : access violation
18>          Register::ListOf<rax, rcx, rdx,
18>          ^

And concluding it all...

21>Target ComputeCustomBuildOutput:
21>  Task "CreateItem" skipped, due to false condition; ('%(CustomBuildOutputs.OutputItemType)'!='') was evaluated as (''!='').
21>  Task "MakeDir"
21>  Done executing task "MakeDir".
21>Target CustomBuild:
21>  Using "GetOutOfDateItems" task from assembly "C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll".
21>  Task "GetOutOfDateItems"
21>  Done executing task "GetOutOfDateItems".
21>  Task "ParallelCustomBuild" skipped, due to false condition; ('@(_ParallelCustomBuild)' != '') was evaluated as ('' != '').
21>  Using "CustomBuild" task from assembly "C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll".
21>  Task "CustomBuild"
21>    Write Tracking Logs:
21>    	Release\obj\v8_snapshot\v8_snapshot.tlog\custombuild.write.1.tlog
21>    Read Tracking Logs:
21>    	Release\obj\v8_snapshot\v8_snapshot.tlog\custombuild.read.1.tlog
21>    No output for C:\GITHUB\NODE\RELEASE\MKSNAPSHOT.EXE was found in the tracking log; source compilation required.
21>    C:\Github\node\Release\\mksnapshot.exe will be compiled because it was not found in the tracking log.
21>    call call C:\Github\node\Release\mksnapshot.exe "--turbo_instruction_scheduling""--startup_src""Release\obj\v8_snapshot\snapshot.cc"
21>    if %errorlevel% neq 0 exit /b %errorlevel%
21>    generating: "Release\obj\v8_snapshot\/snapshot.cc"
21>    'C:\Github\node\Release\mksnapshot.exe' is not recognized as an internal or external command,
21>    operable program or batch file.
21>    C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 1.
21>  Done executing task "CustomBuild" -- FAILED.
21>Done building target "CustomBuild" in project "v8_snapshot.vcxproj" -- FAILED.
21>
21>Done building project "v8_snapshot.vcxproj" -- FAILED.
21>

 

 

#import does not work after compiler update

$
0
0

Hello,

after update of Intel C++ compiler and Visual Studio, the #import statement does not work anymore and causes INTERNAL COMPILER ERROR.

Repro:

C++ Console Application Project with:

// ImportCOM.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#import "LicProtector500.dll"

int main()
{
    return 0;
}

produces as output:

1>------ Rebuild All started: Project: ImportCOM, Configuration: Debug Win32 ------
1>stdafx.cpp
1>ImportCOM.cpp
1>59242.cpp
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.15.26726\include\comdef.h: : error C1001: An internal error has occurred in the compiler.
1>(compiler file 'msc1.cpp', line 1518)
1>Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX64\x86\cl.exe.  You will be prompted to send an error report to Microsoft later.
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1>Please choose the Technical Support command on the Visual C++
1>INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX64\x86\cl.exe'
1> Help menu, or open the Technical Support help file for more information
1>    Please choose the Technical Support command on the Visual C++
1>    Help menu, or open the Technical Support help file for more information
1>Done building project "ImportCOM.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Error on VC 15.8.8 & Intel C++ 2018.5.274

Under VC 15.7.6 & Intel C++ 2018.3.210 works fine.

AttachmentSize
Downloadapplication/zipImportCOM.zip3.22 MB

intel compiler toolchain on CentOS - linking against custom glibc

$
0
0

Hello, all.

I am trying to get the the 2019 release working on centos6.

The system ships with gcc 4.4 and old glibc, which do not have full support for c++11. Instead, I compiled and installed gcc 5.5 and glibc 2.23 through linuxbrew, and I am trying to compile with `icpc` with linuxbrew's `gcc` toolchain.

However, when compiling, icpc insists on using system versions of glibc:

> icpc -cxxlib=/home/user/.linuxbrew/ -std=c++11 hello.cpp -o hello
ld: /home/user/.linuxbrew/Cellar/gcc/5.5.0_4/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..//libstdc++.so: 
undefined reference to `memcpy@GLIBC_2.14'

Instead, I expect it to resolve to glibc 2.23, as installed with homebrew.

`icpc` seems to know about my 5.5 executable:

> icpc -v
icpc version 19.0.0.117 (gcc version 5.5.0 compatibility)

Further, if I explicitly include `~/.linuxbrew/lib` as a linking directory, `ld` succeeds, but the runtime library lookup fails, as it appears that the linker uses system libraries:

> icpc -cxxlib=/home/user/.linuxbrew/ -std=c++11 -L ~/.linuxbrew/lib hello.cpp -o hello
> ldd hello
./hello: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./hello)
	linux-vdso.so.1 =>  (0x00007f1781c4c000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003caee00000)
	libm.so.6 => /lib64/libm.so.6 (0x0000003ca5200000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003caea00000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003ca4e00000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000003ca5a00000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003ca4a00000)

I would expect that providing `-cxxlib=<path>` and `-L <inlclude>` should link against libraries in `/home/user/.linuxbrew/lib`.

What am I missing?

Thank you!


How to specify installation directory for Parallel Studio XE 2019 on Linux

$
0
0

I had installed Studio to a host that was supposed to join  existing cluster. install.sh picked the installation directory. It happened to be different, than installation directory used on other hosts. The "mpirun -hosts old-host1, old-hos2, new-host IMB-MPI1" hangs. Turns out all paricipating hosts have to have identical installation.
I was unable to find how to specify the installation directory.

I was unable to cleanly uninstall the previous the previous Studio version.
If a host had previous version of Studio installed, seem to affect the location of new installation.
I wanted to enable the default installation at /opt/intel, for that I wanted to clean up the host before running install.sh for new install.
Did "uninstall" option running install.sh, removed rpms, removed whole directories: sometimes it worked, other times not.
 

Missing LIBM export in my DLL file (Windows)

$
0
0

Hello guys, I'm WilliamK and I'm compiling a JUCE based Plugin Windows DLL file (you can check my work at Wusik.com). On Win 64 it links and works great, but not on 32 bits. I get the following error.

 

So it seems that I need to link the libm.lib file, but I don't know how to do that on Visual Studio 2017 :-( Any help would be much appreciated. Thank you!

Best Regards, WilliamK

TBB dll is missing

$
0
0

Installation of Parallel Studio 2018 successfully installed TBB on my laptop. However, a similar installation on my school's server installed TBB, but raises a tbb.dll is missing error. I cannot find tbb.dll on my laptop. How do I proceed with the school server.

Thanks,

Chris

What version of icpc is the latest?

$
0
0

I just downloaded parallel_studio_xe_2019_composer_edition_for_cpp and it doesn't look like the compiler itself has updated since Feb of 2018.  Am I missing a more recent release?  I know this is a silly question, but having a hard time finding the information on the software download website.

"if constexpr" and "missing return statement..." in icpc v 19

$
0
0

in icpc (ICC) 19.0.0.117 20180804, if I have a function with auto return type and a non-ambiguous "if constexpr" stanza like this:

template<typename ... ARGS> auto foo(ARGS ... args)
{
  if constexpr (sizeof...(args) == 1)
  {
    return /* variable of some type */;
  }
  else
  {
    return /* variable of another type */
  }
}

I get error  #1011: missing return statement at end of non-void function.  GCC is fine with it.  I can't figure a work-around except to fall back to SFINAE and enable_if

Is that possible to install Intel C++ compiler on Pentium Gold processor system ?

$
0
0

Hi everyone, 

I have a system running CentOS 7.3 with Intel Pentium Gold processor and Xeon Phi 3120A coprocessor. I need to install Intel Parallel Studio on this machine to have the Intel C++ compiler. But the processor requirement for the Parallel studio installation says I need to have Intel Core(TM) or Intel Xeon(TM) processor. Therefore could you please tell me is there any possible way of installing Parallel studio on my Pentium system to have Intel C++ compiler or any other way to install Intel C++ compiler on my system ?

identifier "MB_LEN_MAX" is undefined when -ffreestanding

$
0
0

Hi! 

Why the following program fails to compile with option -ffreestanding?

//test.cpp

#include <climits>

int main() {

char buf[MB_LEN_MAX];

return 0;

}

Command:  icpc test.cpp -ffreestanding -o test.exe

Output:

 error: identifier "MB_LEN_MAX" is undefined

 


libmraa.so.2 issue on Intel System Studio

$
0
0

Hi Team,

I am a new user of Intel system studio. I want to program the Grove UP2 with the system studio 2019. 

Grove UP2 is connected and the code is error free (using any of the examples that comes with system studio) but the following error was showing after compiling the code and nothing is uploaded to the device:

error while loading shared libraries: libmraa.so.2: cannot open shared object file: No such file or directory

Kindly advice further.

Semiu

Are the `Qoption` flag "options" documented anywhere?

$
0
0

From the Developer/Reference Guide we have

/Qoption,string,options or -Qoption,string,options

"string" is listed as being any of the following:

  • cpp - Indicates the Intel compiler preprocessor.
  • c - Indicates the C++ compiler.
  • asm - Indicates the assembler.
  • link - Indicates the linker.
  • prof - Indicates the profiler.
  • On Windows* systems: masm - Indicates the Microsoft assembler.
  •  
  •      On Linux* and macOS* systems, the following are also available:
  •     as - Indicates the assembler.
  •     gas - Indicates the GNU assembler.
  •     ld - Indicates the loader.
  •     gld - Indicates the GNU loader.
  •     lib - Indicates an additional library.
  •     crt - Indicates the crt%.o files linked into executables to contain the place to start execution.

Point is, I don't see "options" being listed anywhere...

(masm is probably easy to figure out, however)

Default constructor of variant is deleted ?

$
0
0
icpc (ICC) 19.0.0.117 20180804

This works in g++ but not icpc with the same runtime library includes.

icpc -std=c++17 -c /tmp/t.cpp -o /tmp/t.o

#include <variant>

void foo();
void foo()
{
  std::variant<std::monostate, int> bar;
}

Gives: 

/tmp/t.cpp(7): error: the default constructor of "std::variant<std::monostate, int>" cannot be referenced -- it is a deleted function
    std::variant<std::monostate, int> bar;


According to cppreference, the default constructor "Constructs a variant holding the
value-initialized value of the first alternative (index() is zero). This constructor 
is constexpr if and only if the value initialization of the alternative type T_0 would
satisfy the requirements for a constexpr function. This overload only participates in 
overload resolution if std::is_default_constructible_v<T_0> is true."

Error 04010002_1670, what's that?

$
0
0

I can't find any information on error 04010002_1670, this happens when I try to compile the JUCE framework using the Intel Compiler. And no error appears when I use MSVC compiler instead.

My extra command line stuff:

/Qip /Qftz /Qopt-matmul /Quse-intel-optimized-headers /O3 /Qprec-div- /fp:fast=2 /QxSSE3 /Qinline-factor:200 /Qopt-report:4 /Qopt-report-phase ipo /Qparallel

Using Intel MKL=Parallel and ILP64

Here's the partial error log.

1>(192) (col. 5): : error : 04010002_1670

This happens on the file include_juce_core.cpp

Here's the optrpt file dump start

    Report from: Interprocedural optimizations [ipo]

Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.0.0.120 Build 20180804

Compiler options: /c /Qm64 /IC:\Work Ready\VST_SDK\VST3_SDK /I..\..\JuceLibraryCode /I..\..\JuceLibraryCode\modules /IC:\Work Ready\VST SDK 2.4 (r2) /Zi /nologo /W4 /MP /Ox /D:__INTEL_COMPILER=1900 /D:MKL_ILP64 /D:_CRT_SECURE_NO_WARNINGS /D:WIN32 /D:_WINDOWS /D:NDEBUG /D:WSV8 /D:WSV9 /D:WEVE /D:W64 /D:ONE_STEREO_OUTPUT_ONLY /D:JUCE_WINDOWS /D:JUCER_VS2017_78A5024=1 /D:JUCE_APP_VERSION=1.0.0 /D:JUCE_APP_VERSION_HEX=0x10000 /D:JucePlugin_Build_VST=1 /D:JucePlugin_Build_VST3=1 /D:JucePlugin_Build_AU=0 /D:JucePlugin_Build_AUv3=0 /D:JucePlugin_Build_RTAS=0 /D:JucePlugin_Build_AAX=0 /D:JucePlugin_Build_Standalone=0 /D:JucePlugin_Build_Unity=0 /D:JUCE_SHARED_CODE=1 /D:_LIB /EHs /EHc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /std:c++14 /Fo.\WusikEVEV564\Shared Code\ /Fd.\WusikEVEV564\Shared Code\\Wusik Engine_SharedCode.pdb /TP /FC /Qftz /Qopt-matmul /Quse-intel-optimized-headers /O3 /Qprec-div- /fp:fast=2 /QxSSE3 /Qinline-factor:2 /Qopt-report:4 /Qopt-report-phase:ipo /Qparallel

    Report from: Interprocedural optimizations [ipo]

  WHOLE PROGRAM (SAFE) [EITHER METHOD]: false
  WHOLE PROGRAM (SEEN) [TABLE METHOD]: false
  WHOLE PROGRAM (READ) [OBJECT READER METHOD]: false

INLINING OPTION VALUES:
  -Qinline-factor: 2 (user-specified)
  -Qinline-min-size: 30
  -Qinline-max-size: 4 (user-specified)
  -Qinline-max-total-size: 40 (user-specified)
  -Qinline-max-per-routine: 200 (user-specified)
  -Qinline-max-per-compile: 10000 (user-specified)

In the inlining report below:
   "sz" refers to the "size" of the routine. The smaller a routine's size,
      the more likely it is to be inlined.
   "isz" refers to the "inlined size" of the routine. This is the amount
      the calling routine will grow if the called routine is inlined into it.
      The compiler generally limits the amount a routine can grow by having
      routines inlined into it.


Begin optimization report for: fabsl(long double)

    Report from: Interprocedural optimizations [ipo]

DEAD STATIC FUNCTION: (fabsl(long double)) C:\PROGRA~2\INTELS~1\COMPIL~1\windows\compiler\include\math.h(955,3)

 

C code in Intel's Fritz Gerneth's FIR implementation for Atom

$
0
0

I have downloaded a 2010 paper by Fritz Gerneth, FIR Filter Algorithm Implementation Using Intel SSE Instructions, targeted for the Atom.

In page 4, there is a brief description of the sum to be implemented and vectorized. The code is as follows:

for ( j = 0; j < 640; j++ ) {
    int s = 0;     // s = accumulator
    for ( i =0; i <= 63; i++ )
        s += c[i] * x[i + j];  // x[] = input values, c[] = filter coefficients
    y[j] = s;     // y[] = output values
}

When j is at the last iteration (639) and i is in the second (1), the index in x[i + j] will overflow, as the text says it is 640 input elements that will be filtered. By the time i is in its last iteration (63), we will have x[63 + 639], which is clearly broken.

Viewing all 2797 articles
Browse latest View live


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