How can install intel OpenCL integrations with visual studio? - windows

I have tried and installed every possible combination of Intel SDK toolkits and Visual Studio (2017/19/21) in the hope that the OpenCL integrations (project templates, compiler, and header and libraries) would be added as described here:
https://www.intel.com/content/www/us/en/developer/articles/guide/quick-getting-started-guide-for-opencl-sdk-integration-in-iss-2019.html
It is not quite clear to me what toolkit is currently needed, the links to the Intel OpenCL SDK does not give a download link, but if found elsewehre it installs some version of an Intel System Studio. If trying to download the OpenCL tools I'm redirected to an Intel oneAPI for IoT which does not set up the bindings, and the Base oneAPI does not do it either.
Any help or ideas here would be appreciated?

Related

How Develop Win32 and DirectX in VSCode

I want develop Win32 and DirectX in Visual Studio Code.
I already installed gcc, mingw.
OS is windows10.
How do I setting it?
See Microsoft Docs for details on developing C++ code with VS Code.
The latest DirectX headers and link libraries are found in the Windows 10 SDK. Using the Visual C++ or clang/LLVM for Windows toolsets are the best options for consuming the latest Windows 10 SDK.
You may find the DirectX Tool Kit a useful starting point, although my tutorials focus on the Visual Studio MSBuild build environment. I also reference using CMake. You can use MSBuild through Visual Studio Community, and you can use CMake through either VS Community or VS Code.

What CUDA version for VS2017 and GTX 870M?

I want to develop a program using CUDA but I am getting lost by install instructions on NVidia's site.
So here is what I have:
Windows 10 laptop with a NVidia GPU GeForce GTX 870M
(both OS and GPU driver are up to date)
Visual Studio 2017, Version 15.8 (also up to date) _MS_VER=1915
On this webpage, I found out that my GPU is CUDA enabled (good news) with "Compute capability" 3.0. What does it mean?
I know that CUDA versions are sensitive to the version of Visual Studio used, so
my question is simple:
what version of CUDA should I download and install? and can I build and run programs with my version of Visual Studio?
As far as I know, no version of the CUDA Toolkit currently supports Visual Studio 15.8. The latest CUDA 9.2 supposedly supports up to Visual Studio 15.6. Note that the issue of Visual Studio support really only concerns the NVCC compiler and Visual Studio Integration. There's nothing preventing you from, e.g., using the CUDA Driver API with whatever compiler you wish (including the latest version of VS).
One way around these issues used to be to put your CUDA code into a separate static library, build that with the VS 2015 compilers, and link it to the main project which could be built using VS 2017.
Make sure you have selected the VC++ 2015.3 v14.00 (v140) toolset for desktop package in Visual Studio Installer:
You can then switch the toolset to use for each project in Project Properties > General:
Unfortunately, I've recently encountered some issues with linking binaries built with VS 2015 to binaries built with the VS 2017 15.8 compilers, so that path might no longer work (seemed to be related to the new "Just My Code Debugging" feature). But then, binary compatibility across compiler versions was never really something to rely on in the first placeā€¦
Another solution would be to downgrade your Visual Studio to 15.6.
The compute capability of a device basically tells you what generation of GPU architecture you're dealing with and which features you can rely on. Or in the words of the CUDA Programming Guide:
The compute capability of a device is represented by a version number, also sometimes called its "SM version". This version number identifies the features supported by the GPU hardware and is used by applications at runtime to determine which hardware features and/or instructions are available on the present GPU.
More details on individual compute capabilities/architectures can be found, e.g., here.

OpenAcc for Windows

Using Visual Studio I am able to build and execute C++ code that uses CUDA on my workstation equipped with a geforce gtx 560 ti GPU. I have also downloaded the OpenACC toolkit from NVIDIA Developer website, and I want to install it for my Windows OS. However, I keep reading that I need a linux based OS to install, but that the PGI compiler is supported by Windows. Is it possible to install the OpenAcc for Windows and build/execute in Visual Studio?
PGI supports C and Fortran on Windows, Linux and MacOSX. C++ is available on Linux. The Portland Visual Fortran (PVF) product is a VS plugin. The C compiler is available via the command line. OpenACC is supported in both C and Fortran on Windows.
I've never tried it with Visual Studio, but I have downloaded the PGI compiler for Windows and built an OpenACC code using their trial license. They sell a product called PGI Visual Fortran which does integrate with VS, so I would expect that you can do the same with the C and C++ compilers.

Where do you usually have your DirectX SDK folder?

I'm new to graphic programming with DirectX-11 and many tutorials reference to the DirectX SDK and the samples included in it. But I can't find my DirectX SDK folder on my desktop even though I can run DirectX programs over Visual Studio.
So where is the DirectX SDK normally stored on my PC. I'm using Windows 8, so DirectX was already included without me having to install it.
Thank you in advance.
The "DirectX Runtime" is part of the OS, not the "DirectX SDK". For a very long time, the DirectX SDK was what you downloaded and installed so a developer could get the headers, libraries and tools to write DirectX apps. That all changed in late 2010 when the DirectX SDK was deprecated and the core headers, libraries, and tools were integrated into the Windows SDK version 8.
See Where is the DirectX SDK? and Not So DirectSetup.
Unfortunately, most of the DirectX 11 tutorials and books were written for the old DirectX SDK and never updated for the Windows SDK. They often make use of D3DX11 which is now deprecated (see Living without D3DX for a list of replacements) and either D3DXMath or XNAMath which have both been replaced by DirectXMath.
The best way to get started with DirectX 11 development today is to install Visual Studio 2015 Community, Professional, or a higher edition. For C++ development, you need to add C++ via the custom install which will also add the Windows 8.1 SDK. Then, go check out the DirectX Tool Kit and it's tutorials. Once you have the basics down, you can go revisit those older tutorials and should be able to follow along using newer tech.
Alternatively, you can install the legacy DirectX SDK and set VS 2012/2013/2015 to use it, but there are a few caveats. First, there's some known issues installing the legacy DirectX SDK. Second, the include & library path order is inverted. Really there's only a few cases where you actually need the old DirectX SDK and for Windows 8 you don't need it. See The Zombie DirectX SDK.
BTW, I hope you are using Windows 8.1 and not Windows 8.0 as Windows 8.0 is no longer supported. See this FAQ.
I've cleaned up a lot of the old DirectX SDK samples so they don't require the legacy DirectX SDK. You can find them on GitHub.
See also DirectX SDKs of a certain age and DirectX SDK Tools Catalog.
With all that said, the default install location for the legacy DirectX SDK is C:\Program Files (x86)\Microsoft DirectX SDK (June 2010) on a 64-bit system or C:\Program Files\Microsoft DirectX SDK (June 2010) on a 32-bit system.
UPDATE:: While it is still a good idea to avoid the legacy D3DX9, D3DX10, and/or D3DX11 utility libraries for new projects, there is now a simpler method for using them that avoids the need to install the legacy DirectX SDK or to rely on the legacy "DirectX End-User Runtime" packages to deploy them. Just use the Microsoft.DXSDK.D3DX NuGet package. See this blog post for more details.

How to compile application for wince 5.0 x86 using VS

i was looking for a way of compiling application for wince 5.0 x86 using VS. I found a thread Intel C++ Compiler for Windows CE where you mentioned ... "For Windows CE based on x86 architecture probably yes.... we just need to use general windows compiler."
I was wondering if you could provide more details on how to set up visual studio project.
To compile an application that targets the x86 cpu you need to create a new Smart Device application using Visual Studio and choose a platform that is x86.
During the wizard of a new application you get to a screen in which you choose your target platform (a list of installed SDKs is displayed). If you choose an SDK that is for x86, then the program will be compiled using the x86 option.
Bottom line, Visual Studio includes the compiler for x86 devices.
You can also do Pocket PC development without the usage of the full Visual Studio, this article was written on CodeProject which utilized the Express editions to enable development of Pocket PC applications.
Hope this helps,
Best regards,
Tom.
You need to install Microsoft ActiveSync 4.0 or later and the respective mobile SDK.
For ActiveSync 4.5: http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/activesync-download.mspx
Win CE 5.0 SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=fa1a3d66-3f61-4ddc-9510-ae450e2318c3&displaylang=en
Happy Coding!

Resources