Intel SSE and AVX Examples and Tutorials [closed] - intel

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Is there any good C/C++ tutorials or examples for learning Intel SSE and AVX instructions?
I found few on Microsoft MSDN and Intel sites, but it would be great to understand it from the basics..

For the visually inclined SIMD programmer, Stefano Tommesani's site is the best introduction to x86 SIMD programming.
http://www.tommesani.com/index.php/simd/46-sse-arithmetic.html
The diagrams are only provided for MMX and SSE2, but once a learner gets proficient with SSE2, it is relatively easy to move on and read the formal specifications.
Intel IA-32 Instructions beginning with A to M
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf
Intel IA-32 Instructions beginning with N to Z
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf
In addition, it is important for Intel SIMD programmers to know the minimum required architecture for instructions that are outside the SSE2 generation.
Browsing by generations on Wikipedia:
http://en.wikipedia.org/wiki/SSE3
http://en.wikipedia.org/wiki/SSSE3
http://en.wikipedia.org/wiki/SSE4.1#SSE4.1
http://en.wikipedia.org/wiki/SSE4.2#SSE4.2
Searching for a given Intel SIMD mnemonic on a single page (via a text search):
http://en.wikipedia.org/wiki/X86_instruction_listings

There is a nice introduction here
Code project SSE
Also if you have Microsoft DirectX SDK installed, the source from xnamath has lot of vector/matrix operations using sse intrinsics (check in the sdk include folder, xnamath.h, xnamathconvert.inl, xnamathmatrix.inl ...)

There is some good stuff on Apple's developer site, e.g. SSE Performance Programming.

You might find it useful to look at examples of how SIMD can be applied to some common algorithms. At Games Developer Conference 2011, there was an Intel talk called "Hotspots, FLOPS, and uOps: To-the-Metal CPU Optimization" that attempts to demonstrate SIMD for algorithms common in games. The talk refers to some Intel sample code that shows how AVX can be applied to cloth calculations.

Related

Are there any public OpenCL C libraries? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 11 months ago.
Improve this question
The title says it all, but to be even clearer: I'm looking for libs / collections of OpenCL C (kernel) code, not libs that use / provide an interface to OpenCL. Also, my interest is not restricted to a specific use case. Therefore the question is intentionally vague.
Ideally, answers provide a name, description and link to projects that provide useful OpenCL C code snippets.
Edit: I will try to consolidate all answers here
Samples from the AMD APP SDK
Samples by NVIDIA
Samples from the Intel FPGA OpenCL SDK
This link Intel FPGA OpenCL SDK says that you can get OpenCL design examples inside Intel SDK.
AMD used to have good code examples. They did work quite well on older AMD GPUs. Here is what I have found:
AMD APP SDK

GUI in Ada programming language [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
How to make/create a GUI (Graphical User Interface) in Ada programming language? It is possible?
In Python, you can use tkinter to make a window form.
I know of 5 GUI frameworks for Ada (see the Awesome Ada List for some of them)
GtkAda
Gnavi
Claw
Gnoga
QtAda
GtkAda you can get for free from AdaCore. Claw can be purchased. I'm not familiar with Gnavi so I cannot comment on it much. I've spent more time working with Gnoga and like both it and GtkAda. GtkAda is a native framework, but I like Gnoga because you can provide the GUI via webbrowser (so more easily cross platform) or you can integrate it with a native platform (including GtkAda, Electron, etc.). I'm not familiar much with QtAda
Also note, that if you can find another C or C++ GUI library, you can write bindings for it in Ada (it has a very good external language interface).
You could try Tcl Ada Shell, which supports Tk so should, I expect, be close-ish to tkinter. Personally I find it easiest to develop the user interface in Tcl/Tk and build the model in Ada.
Or there’s GtkAda - can be obtained from AdaCore for Linux, Windows (I assume you’re running the 2018 Community Edition?)
I would add my support for Gnoga. I like it because
It is not a binding; it is a GUI written in Ada.
It is completely portable, because it uses a browser to provide the GUI

GPU use in unix [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I was wondering if there can be any graphic card in a unix server (basically cluster). I am interested in using GPU power for quick statistical computation using R. I tried to intall "rpud", it said "cannot find nvcc, check CUDA install"
Wikipedia's CUDA article has some good general information and sample code in C and Python.
You need a compatible GPU and you need to install the tools from NVIDIA.
These tools are called CUDA Development tools. nvcc is a C compiler for the GPU.
So, it can not find your CUDA Toolkit, perhaps because you did not yet install it or there are some file path settings that are incorrect.
NVIDIA CUDA Getting Started For Linux
NVIDIA CUDA Getting Started for Windows
There are server-grade GPU cards.
Help picking a card:
What are the differences between CUDA compute capabilities?
Exercise caution when using older cards due to accuracy issues:
Accuracy of GPU for scientific computing
There are R packages for this. Notably, gpu-tools.

Unix systems programming [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 months ago.
Improve this question
Where is a good place to start if one is interested in Unix systems programming?
Any recommended reading, tutorials etc that are aimed at the beginner?
What knowledge is needed to start with systems programming?
Stevens is the bible. Read and understand this and his other books and you have most of what you need.
http://www.amazon.com/UNIX-Systems-Programming-Communication-Concurrency/dp/0130424110
I have tried myself many books for learning the system programming.The best which I found is:
System Programming with C and Unix by Adam Hoover
You can directly start with this book.
Start with Mark Rochkind's "Advanced Unix Programming" if you can find it. Then graduate to Stevens "Advanced Programming in the Unix Environment".
I discovered this too for anyone interested. Apparently it is the "New standard" for linux programming.
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
http://www.cs.rutgers.edu/LCSR-Computing/programming.html
to program under unix in c and pascal
C and Unix Programming: A Comprehensive Guide
this worked wonders for me
cprogramming.com
I think the best place to learn c and c++ and some other stuff. They also have great suggestions for books (and ebooks).

Serial / Com Port monitor for Windows x64 [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Can anyone recommend any good Com port monitor tools, like Portmon, which also work on Windows x64? Ideally something open source / freeware would be good.
Old question, but very relevant. While serial ports may be gone from consumer devices these days, it is still very much used in industrial hardware, point of sale hardware, radios, etc. In my case I was trying to capture a communications session from a configuration software tool for some hardware equipment.
In the end I found a commercial app from Eltima Software called Serial Port Monitor which did the trick for me on Windows 7 x64.
UPDATE in 2020: This very old question was relevant in 2010, but is now obsolete. There are plenty of open source serial monitor tools nowadays, notably the Arduino serial monitor tool, just to name one. This question can probably be deleted as it is no longer 'a problem.'
My original answer from 2010: The only one I have found for x64 is "Advanced Serial Port Monitor," which is really quite good. Not free, priced at $60 USD for a single user license. There is a 15-day trial. Honestly, I've been hoping (for quite a while now) that Mark R. would release a 64-bit version of portmon.

Resources