Thursday, September 24, 2015

GPU and software, which not only graphics processor for gaming – Softonet

Almost every enthusiast computers, technology and gaming, when asked what the computer should be fast graphics card to say “game”. Of course this is true, but it is not alone. Modern GPUs are specialized computational units, in some respects much faster than CPUs. So is buying a computer, for example. Laptop with a powerful GPU it makes sense if the acquired machine are going to use almost only to work? We decided to check it out, doposażyliśmy in equipment from as far as decent GPU on board and started reconnaissance in search of applications in which certain functions can “take the wind in the sails” and perform noticeably (even very noticeably) faster, as long as the computer on which these functions are executed, it is equipped not only with a powerful CPU – CPU – but also efficient GPU – GPUs.

An interesting article about us is determined by loving all kinds of acronyms Americans deadline GPGPU , or General-Purpose Computing on Graphics Processing Unit. You can put it in our wonderful speech as the use of GPUs in the tasks of computational general purpose (meaning: not associated exclusively with the generation of graphics in computer games).

One day while driving one of the numerous disputes editorial, we asked ourselves whether the user using mainly applications for specific computing tasks (in the sense of non-player), the more benefit from a computer which has a stronger CPU, or sometimes it pays to also invest in a machine known as’ game equipment “even though you know in advance it was not the game will be the main task implemented on the hardware. Obviously, the answer to this question depends on many factors: the difference between the baseline and the assumed (ie, which has a weaker computer, and then stronger), and also – perhaps primarily – the type of applications that are to be used in everyday work and tasks that using these applications are implemented. The standard Windows Notepad can be successfully used by a programmer or network administrator for example. To write scripts, but in this case the equipment workstation computer with super-efficient GPU is of no benefit, because Notepad is not an application, which in general can take advantage of the potential of computing any layout – but not quite, because the operating system itself can use the power of the GPU even in “plotting” user interface – but here the focus is on direct benefits from the possibility of “employment” GPU tasks carried out by specific applications. In this context, notebook and GPU is a dead end. On the other hand, there are lots of applications and tasks that can effectively harness the power latent in computing power chipsets, but in most cases are expensive professional software packages. Is not there anything for ordinary Kowalski? Before we get to the description of selected applications and our comparative measurements, first a few words about used our equipment.



Machinery

The devices through which we wanted to test the hypothesis concerning the likely cost-effectiveness of having a computer strong (relatively) the GPU as a unit used primarily for work and not gaming were three computers. Traditionally we announce that all the described solutions checked in practice. It is not our aim of rewriting the operating instructions, or information “hearsay” from the Internet.

Computer “output,” or unit of the weakest (though not weak computationally) was a laptop Acer V3-371 , equipped with an Intel Core i5-4210U, 8 GB of RAM, SSD 128 GB and a matrix with a resolution of 1920 x 1080 pixels. This computer does not have a separate GPU for graphics rendering subsystem answer appropriate CPU from Intel. The machine worked under Windows 10.

 Acer V3-371

Another hardware on which we installed and verified software capable of utilizing the computing power of GPUs was the Acer laptop Aspire V15 Nitro (model VN7-571G-70MR). This computer is equipped with an Intel Core i7-5500U, 12 GB RAM, 256 GB SSD + 1TB HDD and a matrix with a resolution of 1920 x 1080 pixels. Agreement us most interesting in the context of the discussed matter at a NVIDIA GeForce GTX 850M with its own memory capacity of 4 GB. The computer worked under the Windows operating system 8.1.

Both of the above computers gave us a manufacturer, the company Acer .

Acer

In contrast, the last model was the model ASUS ROG G750. It’s a typical machine “players” as evidenced by, among others, Signing this model brand ROG (Republic Of Gamers) created by ASUS specially for devices and accessories designed especially for lovers of the wider gaming . This laptop was equipped with an Intel Core i7-4700HQ, 16 GB of RAM, hard drive Hitachi 5K100 Travelstart 1 TB and a matrix with a resolution of 1920 x 1080 pixels. He had the strongest (though not the latest) unit GPU: NVIDIA GeForce GTX 780m. The computer worked under Windows 10.

The device manufacturer told us, the company Asus.

CPU and GPU

Dedicated graphics processors built into some models of modern computers is very fast computation, but due to their specialization, they are useful only in certain types of computing tasks. This means that the use of the GPU in some applications may, but need not bring benefits. Moreover, it is whether the program in general will be able to use the potential of the layout depends primarily on the programmer and developed by his code of the application. This program should have built-in procedures using GPUs to carry out specific calculations.

First of all, remember that the units of the GPU count other than CPUs (CPU), or systems for general use. Generally speaking – without going into the technical complexities associated with the exact method of calculation by modern large-scale integrated circuits – general purpose processors (CPUs) better cope with the processing sequence, whereas those “graphic” ideally suited for parallel computing. Of course, the main processor (CPU), especially the modern, multi-core chips also can perform parallel computations, but some jobs do not match the speed of calculations for systems graphics. The cooperation of both types of systems in numerical tasks can bring tangible benefits to users. At the same time it is worth noting that the use of the potential of the GPU is always carried out with the cooperation of the CPU / CPUs. It never is that the GPU replaces the CPU. Just tasks are allocated to individual types of systems depending on the type of required calculations. Only then it makes sense.



When the GPU can be useful?

Surely often in the media or among distributed information by the producers themselves fast graphics cards zaobserwowaliście information on the powerful profit wydajnościowego in the various scientific tasks, such as eg. the search for exoplanets, genome sequencing and protein, complex financial calculations, medical imaging, prediction of molecular bonds, forecasting weather and climate change and much, much more .

Of course, on your home computer, even those used for office work and graphic design, but rather one of this type of calculation will not be carried out (although it may help the world of science, which later in the article). However, there is a very large group of programs, even among many popular tools in which certain functions can use the potential of the graphics chip. Besides the producers themselves promoting their own systems for their use in complex computational tasks, not necessarily having anything to do with the generation graphics. An example is the 20-page document (available in English, PDF format) published by NVIDIA, which is the application directory (for professionals) that can benefit from the potential of computing systems of the brand.

Even if you do not We are engaged in scientific work, we are not engineers, architects, biologists, etc. it is still important to look into that document. In addition to specialized tools for specific scientific tasks, we find in it, among others, Adobe popular programs such as Photoshop (unless anyone needs no introduction to this tool), Premiere Pro (video editing), SpeedGrade (color correction) or After Effects (visual effects). With the computing power of GPUs can also use a whole arsenal of Autodesk applications, including renowned AutoCAD (world’s most popular software for 2D and 3D), 3ds Max (a popular tool for modeling, animation and rendering 3D graphics), as well as Mudbox (spatial modeling), Inventor (design of mechanical elements, modeling products) Revit (design buildings), Moldflow (software for designing injection molds), Maya (animation and modeling spatial) or MotionBuilder (character animation).

The careful reader will ask, however, that these applications despite everything still revolved around graphics (processing, design, modeling, animation, etc.). That’s true, but fast processing tasks in parallel by GPUs is progressing well at all tasks unrelated to graphics, for example. In cryptography. An example here might be password recovery software company Elcomsoft. The power of the GPU in applications more amateur is especially useful (playing all the time omitted) during encoding, decoding and converting video data, we show an example free video converter Free CUDA Video Converter .



Is only NVIDIA?

Of course not. In our case, interest in software capable of exploiting the potential of graphics chips that producer due simply to the type of equipment which we had (see above), but to support the CPU and tasks set by applications used by the user can be used theoretically arbitrary layouts, all but depends the manner in which the program code was developed and what technologies are compatible. Below we present the most popular techniques currently think (or as some prefer: application programming interfaces) for the “harnessing” the GPU to work with a variety of general purpose applications:

  • CUDA (Compute Unified Device Architecture); NVIDIA solution and working only with the systems of the company; is a special programming interface GPU, now mainly used in research and industry.
  • OpenCL (Open Computing Language) – originally developed by Apple programming interface specialized in the implementation of the calculations but only using GPUs, theoretically, OpenCL It can be used with any programmable chip (any type) capable of performing calculations
  • DirectCompute – interface calculation developed by Microsoft for the first time debuted with DirectX 11.

Is my video card can count on?

Well, since we know that forcing layout to work requires support for your hardware specific types of interfaces, computational how to determine which ones are supported by the card / GPU on your computer? That much is very easy, just use a free software tool, for example. TechPowerUp program GPU-Z.

 Download GPU-Z

Clicking the button appears next to you can download the latest version of GPU-Z TechPowerUp. The program works on all versions of Windows (including the newest Windows 10). It is available in both 32-bit and 64-bit.

When you run this application on the screen, you should see a window similar to the one shown below.

Regardless of the multitude of parameters of interest on the layout, the data portion of us most interesting indicators appear next to string Computing . A checked box next to the name of a particular interface means that the layout of the built-in computer that is running GPU-Z supports this interface. Well, how therefore the layout of “help” in the work programs that are able to use its computing power? Here are a few examples.



Adobe Photoshop

The most popular editor graphic world “learned” to use potential of the GPU quite a long time, because with the market launch CS4 generation. Older versions of Photoshop, although still used by many users, but they are not able to use the computing power of graphics chips, so what we “monster” graphic did not have a computer, Senior Photoshop will not work on such equipment or a little faster. In the case of Photoshop CS4 and CS5 power of the GPU is used via a graphical interface for OpenGL (not to be confused with OpenCL – OpenCL is a universal interface for general-purpose computing, while OpenGL is an interface used only in tasks related to graphics). Because OpenGL graphics and, therefore, support from the GPU CS4 and CS5 concerned the display of the workspace user in Adobe Photoshop.

Another important generation – with respect deployed in Photoshop tasks that can be performed using GPUs – was Photoshop CS6. Since this version of Adobe introduced a new graphics engine called Mercury Graphics Engine – it uses a much greater extent with the computational capabilities of GPUs.

With the newer generations of the case looks much better. In our editorial team we used the latest version of Photoshop CC in 2015.

The program itself detects the presence of a standard layout on the computer. In the Preferences after selecting the side list of categories to Performance can determine whether the use is enabled GPU. The relevant box placed in the Settings GPU .

After you click on that section of the Advanced Settings in the next dialog you can control the range of tasks, in which the GPU will “support” of Photoshop. The illustration above shows the default settings set on one of our test platforms equipped with an NVIDIA.

Align cursor on the box Use the OpenCL shows the “balloon” the description of the function. From this description one can get an OpenCL interface tasks which are used in Photoshop. As you can see include Smart Sharpen, of course graphic filters or resize the image (while maintaining detail).

This was the advanced settings window graphics processor on a computer devoid of a separate GPU – Acer V3-371. In this machine graphic module (Intel HD Graphics 4400) is integrated with the main processor (Intel Core i5-4210U). As you can see in this case there is no possibility at all to the function of OpenCL in Photoshop.

We decided to check whether the actual presence of fast GPU of the computer components can have a significant impact on the efficiency of operations at the most popular graphical editor. We have prepared a test set of tasks including, among others change the image size (larger), the filter molding (English version: Liquify ) and art filter. Such a set of signed and copied to all machines and started clocking the execution of all tasks. The results (in seconds) shown in the following chart.

The results only partly seem obvious. Best result, which is the shortest time of implementation of the tasks of the test showed – as expected – equipment equipped with the most powerful graphics chip, but on the other hand, the differences between the three results enabled acceleration is not as big, if it resulted from the performance of the same GPU supporting the work program . Why is it like that? First of all, because Photoshop uses the power of graphics chips only for certain tasks, example would be present here at the test included tasks filter molding . It was he greatly influenced the differences in results from acceleration and without acceleration. When repeated measurements previously Photoshop settings excluding the use of performance layout (ie presumably all calculations have been carried out by the main processor), we found that the fastest acceleration turned out to be the slowest computer. Why the difference? Paradoxically, it is not the fault of CPUs and GPUs, but … the hard drive. We observed that the automatic application of filter effects molding Photoshop intensively used hard drive. Meanwhile, Acer laptops (both used by us models) were equipped with much faster SSD, which affected the result of the processing when the GPU was turned off. Regardless of the differences between the processing speed enabled GPU support and with deprivation of Photoshop this support is more than noticeable, and certainly will be of importance in their daily work. Another thing that answering posed in the introduction question, does not necessarily require investment in ultra-fast (or at least one of the faster) graphics chips, because Adobe can also use the power considerably slower units of the Intel HD Graphics 4400 (the model figured on a laptop Acer V3-371).

A can convert video? HandBrake.

One of the most frequently mentioned tasks in the context of calculations made by GPUs is a video processing, and more specifically video conversion and transcoding. Also, and we decided to check it out. We tried two programs: HandBrake and the Free CUDA Video Converter. Let’s start with that first.

Download HandBrake

Clicking visible next to the button you can download the latest version of HandBrake. The application works in any current version of Windows, this is also the latest Windows 10.

HandBrake is one of the few (still, despite already quite a long presence in the market programming programming interfaces GPU) tools available free of charge and allowing ” employment “layouts for conversion and transcoding video. Unfortunately, in practice, the use of the application in conjunction with computing power which could provide fast GPU is very limited. In fact, when it comes to OpenCL features HandBrake has just one (sic) – video scaling.

present themselves HandBrake settings associated in any way with functions for the use of computing power chipsets. Regarding the application of universal (implemented by the OpenCL), it is really only function is scaling method of Bicubic . This option is not even active by default. Sami authors declare that “profit” Performance due to use OpenCL for scaling the processed video may not be visible at all, it remains a matter of quality. According to many people who are accustomed to converting video scaling using the Lanczos gives qualitatively better results than Bicubic . You can see that the whole looks pretty little encouraging. Functions in any way connected to the GPU are still in decoding settings. The first is to decode video using the API of Microsoft DirectX Video Acceleration (in short DXVA), but here they Developer’s stipulate that it is an experimental feature and is suitable in principle for ‘testing’ (pronounced. Rather not work than work). The second function of decoding using Intel QuickSync. Here, the presence of high-speed chips Nvidia is not much come in handy – a solution that works only with Intel chips. Of course the best the latest.

Despite this, we decided to make to determine how much quicker the sample transcoding a video file into one of the predefined output profiles embedded in HandBrake’a (we chose the profile of iPad , or re-conversion of video into a format compatible with iPad).

The result fully understood, the task quickly made computer with the fastest processor main. Because only he was involved in the process. And what he was doing at the time the GPU? The answers will provide the following illustration:

Using Process Explorer we checked the extent to which the Programme has HandBrake charged GPU on the job of transcoding video. As you can see the layout basically doing nothing. All the work done CPU. Thus, despite the available information here and there, as HandBrake can harness the power of the GPU, it falls to say: can not. This program even in a fraction of a percent does not use the GPU to the extent, for example. Aforementioned Photoshop.



Free CUDA Video Converter – a complete fiasco

Our next attempt to use the GPU for video processing for using widely available and inexpensive as possible (here: free) software was to make use of the available free program Free CUDA Video Converter . The name sounds promising, but on the name ends. For any of the machines we use this program did not fire. The only sign of activity was displayed for several seconds following picture:

Illustration suggested charging application, but on all three computers within a few seconds the program ended action even before they had begun it and the process is removed from memory.

Benchmark – CompuBench CL

The difference between the computers used by us decided to check not only in application programs, but also by the benchmark (test application) CompuBench CL. A feature of this was the measuring program is that it checks the speed of execution of operations carried out using an interface that OpenCL, which is – as we know – one of the methods of ‘employment’ computing power of GPUs.

CompuBench CL

Clicking the button appears next to you can download the latest version of the benchmark CompuBench CL. It is a program that runs on Windows and Apple OS X. There is also a mobile version for Android, but does not use it already OpenCL but RenderScript.

Please note that OpenCL is an interface with the assumptions supporting various tasks Calculated on the so-called. heterogeneous platforms or hardware equipped with different types of computing systems. It’s a completely different solution than for example. CUDA, cooperating only with NVIDIA GPUs. In CompuBench CL built 7 computational tests (face detection, object recognition, fluid dynamics, molecular simulation, video processing and … “digging” cryptocurrency (this last test, using a popular algorithm kryptowaluty Bitcoin is – according to the creators of CompuBencha CL – a good tool to measure the total computing performance of a given system.) From a user depends on whether these tests are to be carried out by the CPU, the GPU integrated into the CPU or the GPU independent.

 Example settings screen test CL CompuBench for the selection of computational units that to be used for the calculations. Of course, the amount available here options depend on the hardware configuration of the computer on which the benchmark is run. The above illustration comes from one of our test machines – Acer V15 Nitro, equipped with a graphics chip integrated into the main processor as well as independent NVIDIA GPU.

Below the results of our measurements with the comment.

These results obtained” weakest “of the three computers used by us – Acer Aspire V 13 (V3- 371-51GY), or changing hardware for faster significantly improve the outcome?

This set of results comes from Acer Aspire V-15 Nitro, the calculations were carried out using the NVIDIA GeForce GTX 850M, significantly faster than the integrated circuit Intel HD Graphics 4400. In most of the tests yield increased several times (3-5 times), except for the calculation algorithm using Bitcoin. Here profit performance was up to a dozen times. On one side is good, the other the practical application of this fact today there is none. Today, absolutely It does not pay to “extract” cryptocurrency on a single hardware, aside from the mere fact that the reasonableness of such an operation. On the other hand, we do not know now popular software, which in an equally effective way potrafiłoby use – via the interface, OpenCL – the computing power of the GPU. The algorithm Bitcoin may well reflects the differences in the overall performance of specific systems, but not this translates into practical use, at least not widely accessible to ordinary users, the scope.

And such results obtained computer Featuring the most powerful (though not the latest) NVIDIA GeForce GTX 780m. It is interesting that unquestionably system in generating graphics faster than GTX 850M (see this example. In the test from the ocean) turned in some tests based on OpenCL compute slower than its predecessor. What does this prove? Mainly that there is still a long way to optimal implementation of OpenCL functionality in the software.

Distributed Computing

The computational power of graphics chips can be partially used for the computing projects using distributed processing. Certainly, many computer users have heard of projects such as SETI @ home (search for extraterrestrial civilizations), the Folding @ home (molecular analysis of proteins and the search for cures for previously incurable disease and illness). In projects of this type of computing tasks are distributed worldwide between computers of volunteers willing to support the project.

LikeTweet

No comments:

Post a Comment