Przedstawiono niektóre wyniki implementacji algorytmu szyfrowania RIJNDAEL wyłonionego w ramach konkursu AES. z użyciem kart graficznych. Środowisko kart graficznych może być wykorzystane do celów ogólnych, niekoniecznie związanych z przetwarzaniem obrazów cyfrowych. Kartę graficzną można traktować jako dodatkowy wydajny procesor obecny w każdym komputerze.
EN
In this paper we present some results of an implementation of the AES Rijndael algorithm on video card. The environment of graphic cards can be successfully used to more general tasks than digital processing of images. A graphic card can be understood as an additional, powerfull coprocessor.
Artykuł prezentuje alternatywne podejście do programowania równoległego poprzez wykorzystanie programowalnych kart graficznych w celu wsparcia obliczeń, oraz połączenie tego podejścia z klasycznym zrównolegleniem opartym o wielordzeniowe procesory. Przeprowadzone testy przedstawiają zysk czasu jaki można uzyskać dzięki odpowiedniemu połączeniu OpenMP z technologią CUDA w obliczeniach związanych z wykrywaniem krawędzi na obrazie rastrowym przy użyciu algorytmu Cannego. Badania przeprowadzone zostały na sprzęcie różnej jakości. Napisane algorytmy są zgodne z CC 1,0 (zdolność obliczeniowa karty graficznej).
EN
This paper presents an alternative approach to parallel programming by using programmable graphics card to support calculations and combines this approach with a classical parallelization based on multi-core processors. The tests show the gain time that can be achieved through a combination of OpenMP with CUDA technology in the calculation of the edge detection on the raster image using the Canny’s algorithm. Tests were carried out on the equipment of varying quality. The algorithms are compatible with CC 1.0 (compute capability graphics card).
Opracowanie systemów sterowania obiektami mechanicznymi polega na znalezieniu kompromisu między szybkością działania, a wymaganą dokładnością i jest zagadnieniem o dużej złożoności obliczeniowej. W artykule przedstawiono różne implementacje algorytmu Optymalizacji Rojem Cząstek PSO (ang. Particle Swarm Optimization), który stworzono w celu uzyskania minimalnego czasu obróbki przy zachowaniu zadanej dokładności odtwarzania trajektorii ruchu. Jego działanie zostało porównane w językach: C, C++ i C# oraz na procesorze i karcie graficznej. Z przeprowadzonych badań wynika, że dla małej liczby punktów obliczenia na karcie graficznej są wolniejsze niż na procesorze.
EN
: Finding the compromise between speed and accuracy is the most important problem in designing control systems. This is a problem of high computational complexity. The paper presents implementation of the algorithm PSO (Particle Swarm Optimization) whose action has been compared in several programming environments (C / OpenCL and C # / Cloo and in C + +) and hardware platforms (CPU and graphics card processor - GPU). PSO is able to achieve the minimum processing time and best possible mapping of a given trajectory. To compare the speed of the PSO algorithm there was made a measurement of the time of test function minimization. The paper describes three test functions commonly used to test the optimization effectiveness. The results show that for a small number of points the calculations on a graphic card are slower than those performed on the CPU. The appropriate use of available parallel computing technologies can significantly improve the characteristics of a multi-axis machine and the expenses incurred for optimization of the PSO can quickly result in important profits. It should be noted that optimization of the processing speed is most needed where the treatment is most complicated. The profit will be negligible for simple trajectories. In special cases, the optimization may extend the processing time without apparent improvement of the characteristics of trajectory mapping.
4
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Rapid evolution of markets of computer games and computer animation means that graphic cards are created with the focus on processing large quantities of data necessary for rendering graphics in such applications. Thanks to the utilization of the NVIDIA CUDA software package, it is possible to take advantage of the processing units available on graphic cards, i.e. GPU (Graphic Processing Unit) in scientific calculations. This work presents also the potential of utilization of the processing power of NVIDIA series graphic cards for scientific purposes. It also contains a description of the software environment, which must be met, and presents limitations, which are imposed onto target software under development.
PL
Szybko rozwijające się rynki gier oraz animacji komputerowych sprawiły, że karty graficzne są tworzone z myślą o przetwarzaniu dużej ilości danych na potrzeby renderowania grafiki w tych zastosowaniach. Korzystając z pakietu NVIDIA CUDA istnieje możliwość zaangażowania do procesu obliczeń naukowych jednostek obliczeniowych umieszczonych w kartach graficznych, tzw. GPU (ang. Graphic Processing Unit). W niniejszym artykule zaprezentowano możliwości wykorzystania mocy obliczeniowej procesorów kart graficznych z serii NVIDIA do celów naukowych. Zawarto opis środowiska programistycznego, warunków, jakie muszą być spełnione oraz omówiono ograniczenia, które są narzucane na tworzone oprogramowanie.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.