Software Archive
Read-only legacy content
17061 Discussions

Working with the compiler - some issues with examples

Rob_J_
Beginner
605 Views

Today I decided to try out some of the examples. Since I'm more familiar with Windows I've started out on that.

The installation is Parallel Studio XE 2016.4.062 over Microsoft Visual Studio 2013.

The first example chosen is the Auto Vectorization example.

The trouble starts almost immediately when I'm told to do the following:

1. Start Visual Studio and open the solution file matrix_vector_multiplication_c.sln

Since this isn't the name of the solution file the instructions following make no sense at all.

 

On the next page of the tutorial I'm supposed to set a baseline for testing. But again the instructions are senseless.

1. Select Project > Properties. The project property pages window appears.

2. Select Configuration Properties > C/C++ > Optimization .

3. For Optimization, select Minimum Size(/O1) from the dropdown list.

There is no C/C++ > Optimization selection below Configuration Properties, so the instructions can't be followed.

 

This completely defeats the training exercise. I certainly hope some of the others work, otherwise I'm not going to learn much.

 

0 Kudos
10 Replies
Rob_J_
Beginner
605 Views

Succeeded in following the LEO (offload) tutorial under mic_examples with few issues. There were small layout differences but the tutorials were written for MSVS 2010 so that's to be expected. Then I went back to the first one and was able to find the missing items in the menus. I have no idea where they went the first time, but I'm glad I found them.

 

0 Kudos
Rob_J_
Beginner
605 Views

Tonight I decided to have a crack at the same samples under CentOS to see how different it would be using Eclipse as a build environment, and immediately ran into several problems.

I have installed Parallel Studio XE 2018 Update 1 Professional but the only samples included are those for Advisor, Inspector and Vtune Amplifier. All the rest are totally missing. Also, any attempt to unpack them from a GUI environment fails because they were installed as root user, a decision made by the installer program and not the end user.

Honestly, I'm becoming tired of struggling against this stuff. It becomes apparent why there's such low interest in the Xeon Phi.

 

0 Kudos
Rob_J_
Beginner
605 Views

Back at it again under Windows 7. This time I'm doing the threading example, and again the instructions are out of sync with the actual code.

In the build_with_openmp.cpp example I'm supposed to edit the draw_task function, which doesn't exist. In addition the comments in source state:

todo: uncomment following routine for the Intel(R) Cilk(TM) Plus implementation

Which isn't even relevant for this file. This tutorial is utter nonsense.

 

The build_with_tbb.cpp example is similarly rubbish. The three headers I'm supposed to uncomment aren't even in the source code and had to be added. And why all this messing about editing files anyhow? They're separate implementations so shouldn't need editing at all.

Sloppy, sloppy, sloppy work Intel.

 

End results:

Serial 6.356 sec

OpenMP 0.812 sec

Tbb 0.468 sec

Cilk+ 0.500 sec

OK, I get the point of the exercise, there's a lot of gain in parallelizing code.

0 Kudos
Rob_J_
Beginner
605 Views

gfx_samples/samples_2013.sln

convolution example throws over 100 errors, the most serious of which seems to be "Could not find ar.exe"

*sigh*

I don't have Intel graphics on this machine so the installer probably didn't include the bits needed to utilize it.

I was expecting, at worst, a runtime error.

 

0 Kudos
Rob_J_
Beginner
605 Views

NQueens example - can't find libmmdd.lib and cikrts.lib

OK, I give up. This compiler package is broken.

A little research shows me this has been broken since 2013 as well.

https://software.intel.com/en-us/forums/intel-c-compiler/topic/405200

Since I have over $30,000 invested in Xeon Phi hardware I am not happy. Quality Control needs a good kick in the arse.

I can't believe the official reply to the above report either. "Oh, just use the batchfile." No, he's not working in the CLI dumbkopf.

And nor am I, some of us evolved past that 25 years ago.

0 Kudos
Rob_J_
Beginner
605 Views

NQueens example is set by default to Debug and 32-bit. It requires 64-bit to work.

Stupid configuration error in the solution file.

 

0 Kudos
Rob_J_
Beginner
605 Views

Back to CentOS for another attempt. Downloaded Parallel Studio XE 2018 Update 2 and this time I was able to not only use the GUI installer but it allowed the option of installing in the Home directory, thus avoiding the permissions problem.

I also found the examples online at

https://software.intel.com/en-us/product-code-samples

and was able to pop them in where they had been installed in the Windows version, giving an identical installation.

Deleted and reinstalled Eclipse, merged the latest CDT package and added the ICC support. Ready for the moon!

 

Well, not quite. There are no Eclipse project files in the package. Grrrr. Is this stuff built by dinosaurs or idiots? I can't tell.

 

0 Kudos
Rob_J_
Beginner
605 Views

OK, let's try it from the command line.

[coinstash@landing bin]$ ./compilervars.sh intel64
[coinstash@landing bin]$ icc -v
bash: icc: command not found...
[coinstash@landing bin]$ icpc -v
bash: icpc: command not found...

 

Right. So the state of affairs is that we're working on a broken operating system with broken tools.

Looks like I'll have to build my own OS and compilers again. I hate that.

 

0 Kudos
James_C_Intel2
Employee
605 Views

Umm, you need to "source" those scripts, since they are adding state to the environment in the current shell. If you execute them (as you did) they'll set all the necessary state in a new shell which will then immediately exit!

0 Kudos
Rob_J_
Beginner
605 Views

Yeah, the subtleties of Linux. Funny, I've been using it since my first CD copy of Slackware in 1993 - including an eight year stint working daily on BeOS and Haiku development, which uses Bash - and had never heard of that. I guess that's why I prefer to stay out of the shell.

Thanks for the tip, it's a step in the right direction. The user docs I was following certainly didn't know about it.

 

0 Kudos
Reply