Informacja

Drogi użytkowniku, aplikacja do prawidłowego działania wymaga obsługi JavaScript. Proszę włącz obsługę JavaScript w Twojej przeglądarce.

Wyszukujesz frazę "programowanie równoległe" wg kryterium: Wszystkie pola


Tytuł:
Pięć sposobów wprowadzenia współbieżności do programu w języku C#
Five ways to insert concurrency to a program written in C#
Autorzy:
Szyszko, Paweł
Smołka, Jakub
Powiązania:
https://bibliotekanauki.pl/articles/98308.pdf
Data publikacji:
2018
Wydawca:
Politechnika Lubelska. Instytut Informatyki
Tematy:
programowanie równoległe
Net
C#
pi
parallel programming
Opis:
Dzisiejsze procesory w komputerach osobistych i urządzeniach mobilnych umożliwiają coraz bardziej efektywne zrównoleglanie działań w celu szybszego uzyskania wyników. Twórcy oprogramowania mają wiele różnych możliwości zaimplementowania współbieżności, jednak zazwyczaj trzymają się jednej, najbardziej znanej sobie techniki. Warto prześledzić działanie każdej z nich, aby odkryć, kiedy można ją wykorzystać w sposób efektywny, a kiedy lepiej poszukać alternatywy. W poniższym artykule zostały przedstawione sposoby równoległej implementacji obliczeń matematycznych z wykorzystaniem wątków, zadań, puli wątków, puli zadań oraz równoległej pętli for z klasy Parallel. Wszystkie zostały napisane w języku C# na silniku Windows Presentation Foundation platformy .NET. Zaimplementowane obliczenia matematyczne to obliczenie liczby Pi z pomocą wzoru Leibniza.
Nowadays processors working in personal computers and mobile devices allow for more and more effective parallel computing. Developers have at their disposal many different methods of implementing concurrency, but usually use the one, that they now best. It is beneficial to know, when a particular technique is good and when it is better to find an alternative. This paper presents different ways of implementing parallel mathematical calculations using threads, tasks, thread pool, task pool and parallel for loop. Each method was used in a C# application running on Windows Presentation Foundation engine on .NET platform. Implemented operation is calculation value of Pi using Leibnitz’s formula.
Źródło:
Journal of Computer Sciences Institute; 2018, 6; 62-67
2544-0764
Pojawia się w:
Journal of Computer Sciences Institute
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Use of the tiling method inside synchronization of free slices of code in OpenMP standard in order to achieve speedup enhancement
Zwiększanie przyspieszenia aplikacji równoległych przy użyciu metody podziału na bloki, wewnątrz części kodu wolnych od synchronizacji
Autorzy:
Gozdalik, M.
Powiązania:
https://bibliotekanauki.pl/articles/157478.pdf
Data publikacji:
2012
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
OpenMP
programowanie równoległe
tiling
shared memory programming
Opis:
In last few years, there were discovered many methods aiming at enhancing the speedup of parallel programs. In this paper three methods are tested according to a speedup parameter enhancement. These methods are: the tiling, the slicing, and the tiling inside slicing. In Sections 3, 4, and 5 the theoretical basis for chosen transformation are described. Algorithms of transformation processes as operations on a polyhedral model are presented. The problems of transformation costs are also discussed. For experimental studies a UTDSP benchmark was used. From each section, one representative sample was chosen. The results were also examined against a data locality. This aspect of chosen transformation methods was examined as well.
W artykule przedstawiono problem doboru metody transformacji pętli celem uzyskania możliwie maksymalnego przyspieszenia. Do badań wybrano benchmark UTDSP z uniwersytetu w Toronto. Z każdej sekcji benchmarku wybrano reprezentanta, który poddany został transformacjom tiling, slicing oraz transformacji tiling wewnątrz slicingu. W pierwszym rozdziale przedstawiony został wstęp do transformacji pętli. Rozdział drugi zawiera informacje teoretyczne na temat modelu polihedronu jako formy reprezentacji pętli, na której przeprowadzane są transformacje, a wynikowy model jest bazą do generowania kodu źródłowego. Kolejne rozdziały przedstawiają opis teoretyczny transformacji tiling oraz slicing. Przedstawiono w nich algorytm tworzenia tych transformacji wraz z przekształceniami matematycznymi, opisującymi transformacje na modelu polihedronu. W końcowej części pracy badano wpływ wybranych transformacji na przyspieszenie programów. Wyniki badań przedstawione zostały w formie zagregowanych wykresów przyspieszeń poszczególnych aplikacji.
Źródło:
Pomiary Automatyka Kontrola; 2012, R. 58, nr 2, 2; 202-205
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Analiza porównawcza współprogramów języka Kotlin z językami Java i Scala w przetwarzaniu równoległym
Comparative analysis of Kotlin coroutines with Java and Scala in parallel programming
Autorzy:
Zieliński, Adrian Andrzej
Powiązania:
https://bibliotekanauki.pl/articles/98192.pdf
Data publikacji:
2020
Wydawca:
Politechnika Lubelska. Instytut Informatyki
Tematy:
kotlin
java
scala
parallel programming
programowanie równoległe
Opis:
The article presents a comparison of Kotlin coroutines with analogous solutions in Java and Scala in parallel program-ming using chosen metric and non-metric criteria. For that purpose, a multi-module project with corresponding imple-mentations of selected algorithms in all of the three languages was created and then analyzed. The studies were preced-ed by a description of the created project.
Artykuł prezentuje porównanie wykorzystania współprogramów języka Kotlin w przetwarzaniu równoległym do analogicznych rozwiązań w Javie i Scali względem wybranych kryteriów mierzalnych i niemierzalnych. W tym celu stworzono oraz przeanalizowano wielomodułową aplikację z odpowiadającymi sobie implementacjami wyselekcjonowanych algorytmów w trzech wspomnianych językach. Analiza poprzedzona została opisem utworzonego projektu.
Źródło:
Journal of Computer Sciences Institute; 2020, 16; 241-246
2544-0764
Pojawia się w:
Journal of Computer Sciences Institute
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Wpływ zastosowania programowania równoległego na wydajność algorytmów kryptograficznych
The influence of the parallel programming on the performance of cryptographic algorithms
Autorzy:
Kraska, M.
Kozieł, P.
Powiązania:
https://bibliotekanauki.pl/articles/98278.pdf
Data publikacji:
2016
Wydawca:
Politechnika Lubelska. Instytut Informatyki
Tematy:
programowanie równoległe
synchroniczne
kryptografia
programming
parallel
asynchronous
cryptography
Opis:
W artykule zostały porównane możliwości zrównoleglenia dwóch algorytmów z dziedziny kryptografii: szyfrowania XOR oraz wyszukiwania kolizji funkcji skrótu MD5. Prezentowane rozwiązania zostały zaimplementowane w taki sposób, by używały wybraną przez użytkownika liczbę rdzeni procesora. Wydajność algorytmów została sprawdzona na różnych procesorach i przedstawiona na wykresach.
Paper compares possibility to parallelize two cryptographic algorithms: Xor cipher and MD5 collision search. Presented solutions allows user to specify number of used processors. Performance of algorithms where tested on a different types of processors and visualized on graphs.
Źródło:
Journal of Computer Sciences Institute; 2016, 2; 120-126
2544-0764
Pojawia się w:
Journal of Computer Sciences Institute
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
A fuzzy model in speedup prediction process for parallel applications written in OpenMP
Rozmyty model predykcji efektywności aplikacji równoległych w standardzie OpenMP
Autorzy:
Gozdalik, M.
Powiązania:
https://bibliotekanauki.pl/articles/153417.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
OpenMP
programowanie równoległe
automatyczna generacja kodu
fuzzy logic
shared memory programming
Opis:
A common method to establish code parallelization quality is measuring the program execution time to calculate speedup and efficiency. Generally, parallel and sequential programs must be executed and execution time need to be captured to affirm quality parameters. However, having a good profiling tool, it is easier to designate parameters such as a bus utilization ratio, rather than the measuring program execution time. Having a piece of information about processor and memory ratios, it is possible to estimate quality parameters with satisfying results. In this paper an example solution of the effectiveness prediction process of parallel programs written in OpenMP is provided. As an approach, a fuzzy model was designed and results for a matrix multiplication program are presented. The fuzzy model and a modus operandi are described. Nevertheless, parameters for estimating the efficiency and speedup were implemented using Intel processors event calculation. These parameters are input values of the fuzzy model presented in this paper. According to processor events, the input parameters where divided into two groups. Each group represents one of a submodel in the whole fuzzy model. It provides possibility to measure only some of processor events to estimate the program efficiency. More details on these parameters are included in separate paragraphs.
W artykule przedstawiony został problem dotyczący określenia jakości wygenerowanego kodu równoległego. Mierzenie czasu wykonania programu celem wyznaczenia przyspieszenia jest nieefektywne, a w niektórych przypadkach wręcz niewykonalne. Posiadając narzędzie profilujące dedykowane dla danego typu procesora, możliwe jest stworzenie modelu, który estymował by efektywność wykonywanego programu na podstawie parametrów pamięci cache poziomu drugiego oraz procesora. Dzięki takiemu rozwiązaniu możliwe jest określenie jakości wygenerowanego kodu i podjęcie na tej podstawie decyzji czy warto dalej optymalizować wygenerowany kod. Celem wykonania pomiaru parametrów pamięci i procesora wystarczy wykonywać program przez określony wycinek czasu nie czekając na jego zakończenie. Nie ma również konieczności ingerowania w kod źródłowy programu. Niniejszy artykuł prezentuje model rozmyty estymujący efektywność wygenerowanego kodu źródłowego w standardzie OpenMP.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 12, 12; 1484-1487
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Parallel fuzzy clustering for linguistic summaries
Podsumowania lingwistyczne z równoległym grupowaniem rozmytym
Autorzy:
Smolińska, M. K.
Sosnowski, Z. A.
Powiązania:
https://bibliotekanauki.pl/articles/341097.pdf
Data publikacji:
2009
Wydawca:
Politechnika Białostocka. Oficyna Wydawnicza Politechniki Białostockiej
Tematy:
podsumowania lingwistyczne
grupowanie rozmyte
programowanie równoległe
linguistic summary
fuzzy clustering
parallel computing
Opis:
Z podsumowaniem lingwistycznym, jak i z predykatem rozmytym związana jest wartość prawdy. Możemy więc podsumowań lingwistycznych używać jako predykatów rozmytych. Podsumowanie postaci większość obiektów w populacji P jest podobna do obiektu oi wykorzystać możemy do znajdowania typowych wartości w populacji P, które to wykorzystuje rozmyty algorytm grupujący. Wadą tego algorytmu jest jego duża złożoność obliczeniowa. W celu przetwarzania dużej liczby danych zaimplementowaliśmy ten algorytm równolegle, korzystając ze standardu MPI do komunikacji między procesami działającymi na różnych procesorach. W tej pracy przedstawiamy algorytm równoległy i wyniki eksperymentów.
The linguistic summaries have the associated truth value so they can be used as predicates. We use summaries of the form ”most objects in population P are similar to oi” to find typical values in population P. Then typical values are used in fuzzy clustering algorithm. Disadvantage of this algorithm is its complexity. For the purpose of processing the huge number of data, we decided to use parallel computing mechanism to implement this algorithm, and run it on the cluster machine. We use MPI (Message Passing Interface) to communicate between processes, which work on different processors. This paper presents this parallel algorithm and some results of experiments.
Źródło:
Zeszyty Naukowe Politechniki Białostockiej. Informatyka; 2009, 4; 139-150
1644-0331
Pojawia się w:
Zeszyty Naukowe Politechniki Białostockiej. Informatyka
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Aspekty czasowe algorytmu SURF w wersji sekwencyjnej i równoległej zaimplementowanej w technologii CUDA
Time aspects of SURF algorithm in sequential and parallel version
Autorzy:
Szymczyk, M.
Szymczyk, P.
Powiązania:
https://bibliotekanauki.pl/articles/275263.pdf
Data publikacji:
2011
Wydawca:
Sieć Badawcza Łukasiewicz - Przemysłowy Instytut Automatyki i Pomiarów
Tematy:
SURF
CUDA
GPGPU
rozpoznawanie obrazów
programowanie równoległe
image recognition
parallel programming
Opis:
W artykule przedstawiono wyniki prac, których celem było zbadanie możliwości implementacji algorytmu wyznaczania punktów charakterystycznych za pomocą metody SURF na platformie CUDA oraz porównanie czasów obliczeń sekwencyjnej i równoległej implementacji tego algorytmu.
This article presents results of our work concerned possibility of implementation of algorithm for assigning key points using SURF algorithm and CUDA technology. The work also compares time of execution of these applications.
Źródło:
Pomiary Automatyka Robotyka; 2011, 15, 12; 241-243
1427-9126
Pojawia się w:
Pomiary Automatyka Robotyka
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
An automatic parallel OpenMP code generation
Automatyczna generacja kodu równoległego w standardzie OpenMP
Autorzy:
Gozdalik, M.
Powiązania:
https://bibliotekanauki.pl/articles/156052.pdf
Data publikacji:
2009
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
OpenMP
programowanie równoległe
automatyczna generacja kodu
iterative code generation
shared memory programming
Opis:
This paper presents a problem of generating an efficient parallel code from an existing sequential code in an automatic way. The main part of this paper is dedicated to the description of the automatic parallel code generation process. Not only an idea of building an automatic code generation tool is provided, but also a theoretical basis which allows us to understand the optimization problem of parallel code. In the theoretical part of the article the solution has been proposed for measuring the quality of code executed by determining the parameters of speedup and efficiency. Also information about known problems associated with parallel processing and speed of code were provided. Discusses, inter alia, impact on the effectiveness and performance of the barrier synchronization. Also a problem with scheduling in the performance of the CPU load of parallel threads is presented. An example of code generated by a tool under development is explained. Some results of experiments are provided to present code quality measurements. The results come from the first iteration of the program, which does not attempt to optimize the generated code in terms of improved locality. Iteration does not include the attempt to generate code that would contain less of a barrier synchronization. These features are under the implementation phase.
W artykule przedstawiony został problem dotyczący stworzenia automatycznego narzędzia generującego kod w standardzie OpenMP, który byłby efektywnie wykonywany pod danym środowiskiem uruchomieniowym. Artykuł przedstawia podstawy teoretyczne związane ze sposobem pomiaru jakości wygenerowanego kodu, jak również przedstawia model narzędzia wykonującego automatyczną generację wydajnego kodu w standardzie OpenMP. W części teoretycznej zaproponowane zostało rozwiązanie problemu pomiaru jakości wykonywanego kodu za pomocą określenia parametrów przyspieszenia i efektywności. Opisany został sposób, w jaki można uzyskać dokładne wartości tych parametrów podczas wykonywania aplikacji równoległych. Zawarto również informacje na temat znanych problemów związanych z przetwarzaniem równoległym i szybkością działania kodu. Omówiono między innymi wpływ synchronizacji barierowej na efektywność wykonywanych programów. Przedstawiono także problem równomiernego obciążenia procesorów podczas wykonywania wątków programu równoległego. Oprócz architektury narzędzia, zaprezentowane zostały wyniki badań uzyskane z częściowo zaimplementowanej już aplikacji. Wyniki pochodzą z pierwszej iteracji działania programu, która nie podejmuje próby optymalizacji wygenerowanego kodu pod względem zwiększenia lokalności. Iteracja ta nie zawiera również próby wygenerowania kodu, który zawierał by mniej synchronizacji barierowych. Powyższe funkcjonalności są w fazie implementacji.
Źródło:
Pomiary Automatyka Kontrola; 2009, R. 55, nr 10, 10; 803-806
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Schedule design for multiprocessor systems
Projektowanie harmonogramu dla systemów mikroprocesorowych
Autorzy:
Globa, L.
Lysenko, D.
Powiązania:
https://bibliotekanauki.pl/articles/153590.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
harmonogram
programowanie równoległe
system wieloprocesorowy
algorytm genetyczny
schedule
parallel programming
multiprocessor system
genetic algorithm
Opis:
Efficiency of multiprocessor system usage is strongly dependent on methods of schedule design - the way of task distribution on each processor to decrease overall schedule time. This article is devoted to the part of this process - schedule design on example of software development for LTE and WIMAX base stations.
Wydajność użytkowania systemów mikroprocesorowych silnie zależy od metody zaprojektowania harmonogramu, tj. od sposobu rozdziału zadań na każdy procesor. Ma to wpływ na zmniejszenie całkowitego czasu wykonywania zadań. W artykule przedstawiono część tego procesu, tj. projektowanie harmonogramu na przykładzie opracowania oprogramowania dla stacji bazowych LTE oraz WIMAX. Wskazano cztery algorytmy możliwe do zastosowania przy wykorzystaniu algorytmów genetycznych. Podano wyniki badań symulacyjnych tych algorytmów, z których wynika, że uzyskuje się dobrą zbieżność przy ograniczonej liczbie generacji. Głównym zadaniem analizowanym w pracy jest skrócenie czasu opracowania oprogramowania za pomocą automatycznego opracowania harmonogramu, znajdowania błędów, uproszczenia debugowania, i wizualizacji za pomocą diagramu. Do rozwoju oprogramowania telekomunikacyjnego proponuje się oryginalną metodę możliwą do zastosowania w formie systemu wbudowanego (SOC). Platformą hardware'ową jest element SOC i kilka różnych jednostek przetwarzających. Algorytm cyfrowego przetwarzania sygnałów jest zdefiniowany przez listę zadań wraz z informacjami o zależnościach. Typ jednostki przetwarzającej i czas przetwarzania są zdefiniowane z góry dla każdego zadania.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 12, 12; 1554-1556
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Intel Manycore Testing Lab - środowisko sprzętowo-programowe do dydaktyki tworzenia i testowania efektywności równoleglizacji oprogramowania
Intel Manycore Testing Lab - hardware and software environment focused on didactic of development and efficiency testing in software paralleling
Autorzy:
Świerczewski, Ł.
Powiązania:
https://bibliotekanauki.pl/articles/131919.pdf
Data publikacji:
2013
Wydawca:
Wrocławska Wyższa Szkoła Informatyki Stosowanej Horyzont
Tematy:
wirtualne labolatorium
wirtualny eksperyment
programowanie równoległe
Manycore Testing Lab
virtual labolatory
virtual experiments
parallel programming
Opis:
Współczesny proces dydaktyczny technik programowania często wymaga dostępu zarówno do nowoczesnego sprzętu, jak i oprogramowania. W szczególnej mierze odnosi się to do algorytmów równoległych, których odpowiednie właściwości w dużo większym stopniu można zaobserwować na wydajnych procesorach nowej generacji. Aby stworzyć międzynarodową społeczność akademicką związaną z tą specjalizacją firma Intel udostępniła wirtualne laboratorium testowe (Manycore Testing Lab - MTL). Artykuł przedstawia aspekt architektury oraz praktycznego zastosowania MTL w pracy wieloużytkowej i skupia się na empirycznym potwierdzeniu wzrostu wydajności uzyskanej dzięki programowaniu równoległemu i10-rdzeniowym procesorom Westmere-EX. Badaniom objęto cztery klasy algorytmów: czysto matematyczny dotyczący problemu Collatza, kryptograficzny 3DES, kwantowy algorytm Grovera oraz klasyczny algorytm genetyczny. Dla zastosowań edukacyjnych dostęp do laboratorium jest bezpłatny, a udostępniane platformy wspierają wszelkie zaawansowane technologie.
The modern didactic process of programming techniques often requires access to the modern hardware and software. In a particular part applies to parallel algorithms, where appropriate properties to a much greater extent can be seen in the new generation of high-performance processors. To create an international academic community associated with this specialization, Intel released a virtual test lab (Manycore Testing Lab - MTL). The paper presents the architectural aspect and the practical application of MTL at work reusable and focuses on empirical confirmation gains obtained through parallel programming and 10-core Westmere-EX processors. The study consisted of four classes of algorithms: for a purely mathematical problem Collatz, 3DES cryptography, quantum Grover algorithm and the classic genetic algorithm. For educational access to the laboratory is free and available to all platforms support advanced technologies.
Źródło:
Biuletyn Naukowy Wrocławskiej Wyższej Szkoły Informatyki Stosowanej. Informatyka; 2013, 3; 32-36
2082-9892
Pojawia się w:
Biuletyn Naukowy Wrocławskiej Wyższej Szkoły Informatyki Stosowanej. Informatyka
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Wpływ programowania równoległego na wydajność programu Javy
The impact of parallel programming on performance of Java program
Autorzy:
Krawiec, J.
Powiązania:
https://bibliotekanauki.pl/articles/103686.pdf
Data publikacji:
2017
Wydawca:
Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie. Wydawnictwo Uczelniane
Tematy:
programowanie
programowanie równoległe
Java
framework
wydajność programu
czas wykonania programu
programming
parallel programming
code efficiency
runtime
Opis:
W artykule przedstawiono praktyczne aspekty programowania obiektowego w języku Java w zakresie programowania równoległego, czyli techniki stosowanej w celu wykorzystywania komputerów wieloprocesorowych (lub wielordzeniowych). Przedstawiono mechanizmy, które zapewniają programistom Javy korzystanie z wielu procesorów w przejrzysty i skalowany sposób. Zaprezentowano mechanizmy wspierające techniki programowania równoległego. Przedstawiono technikę rekurencji w ramach strategii „Dziel i zwyciężaj” oraz zasady przetwarzania sekwencyjnego. Zbadano możliwości zwiększenia kodu programu Javy w zakresie technik programowania równoległego na przykładzie frameworku Fork/Join. Przedstawiono możliwości tego frameworku pod kątem zwiększenia wydajności programu Javy. Przeprowadzono pomiary czasu wykonania programu dla różnych poziomów równoległości oraz różnych progów przetwarzania sekwencyjnego. Wykazano, że odpowiednia konstrukcja kodu Javy może znacznie skrócić czas wykonywania programu Javy, co przekłada się na wydajność programu.
The article presents the practical aspects of object-oriented programming language Java in the field of parallel programming, a technique used in order to use multiprocessor computers (or multi-core). Mechanisms supporting parallel programming techniques were presented. Recursion technique in the framework of the "Divide and conquer" and the principle of sequential processing were presented. We examined the possibility of increasing the Java code program in the field of parallel programming on the example framework Fork/Join. The possibilities of this framework to improve performance of a Java program were presented. The measurements of the program runtime for different levels of parallelism and different thresholds for sequential processing were conducted. It has been shown that proper design of Java code can significantly shorten the duration of the program Java, which translates to program performance.
Źródło:
Prace Naukowe Akademii im. Jana Długosza w Częstochowie. Technika, Informatyka, Inżynieria Bezpieczeństwa; 2017, T. 5; 25-38
2300-5343
Pojawia się w:
Prace Naukowe Akademii im. Jana Długosza w Częstochowie. Technika, Informatyka, Inżynieria Bezpieczeństwa
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Zastosowanie standardu OpenMP do projektowania systemów wbudowanych
Use of OpenMP standard for embedded systems describing
Autorzy:
Wierciński, T.
Powiązania:
https://bibliotekanauki.pl/articles/154061.pdf
Data publikacji:
2009
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
systemy wbudowane
programowanie równoległe
OpenMP
języki opisu sprzętu
SystemC
embedded systems
parallel programming
hardware description languages
VHDL
Opis:
Artykuł prezentuje nowe podejście do projektowania systemów wbudowanych z użyciem języka C z dyrektywami OpenMP. Opisano w nim motywację użycia standardu OpenMP do syntezy sprzętowo-programowej. Przedstawiono proponowane rozwiązanie oraz porównano je z klasycznym projektowaniem systemów sprzętowych. Przedstawiono także konstrukcje równoległe standardu OpenMP, syntezowane do postaci współbieżnych układów cyfrowych. Pokazano przykładowy program w języku OpenMP wraz z jego przekładem do kodu SystemC oraz schemat RTL układu będącego wynikiem syntezy opisanego źródła.
The embedded system is a special-purpose computer that performs one or a few dedicated tasks. It contains hardware and software parts [3]. The paper presents a new approach to embedded system design using C language with OpenMP directives. It is different from classic hardware design (Fig. 1a) because it allows describing both hardware and software using a common language (Fig. 1b). OpenMP is a standard that specifies parallel programs using a shared memory architecture. It is the collection of compiler directives and runtime library functions in C/C++ and Fortran languages [11]. Support for concurrency that corresponds to hardware performance is the main motivation of using OpenMP to embedded system design. OpenMP enables describing chips on high level of abstraction without knowledge about details of its structure. It improves flexibility of the software/hardware migration. OpenMP offers simulation, verification and estimation of the system performance. There is sufficient amount of legacy C libraries which facilitate the task of system modeling. Fig. 2a shows an example of OpenMP code that adds two matrixes A and B using a parallel loop. The systemC program being the results of behavioral synthesis of the example 2a is presented in Fig. 2b. Parallel regions in OpenMP have been transformed to SC_METHODS processes in SystemC. Fig. 3 shows the RTL schematic diagram of the chip synthesized from a code 2b. It contains three blocks proc1, proc2, proc3 that are equivalent to threads in OpenMP program. A schematic diagram of the single block is presented in Fig. 4. The unit consists of an adder, a FDE flip-flop that realizes barrier synchronization and two FDR flip-flops representing signals S and R.
Źródło:
Pomiary Automatyka Kontrola; 2009, R. 55, nr 8, 8; 693-695
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Wykorzystanie kompilacji iteracyjnej do optymalizacji warstwy programowej systemów wbudowanych
Exploiting iterative compilation in the software layer of embedded systems optimization
Autorzy:
Wierciński, T.
Radziewicz, M.
Burak, D.
Powiązania:
https://bibliotekanauki.pl/articles/154610.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
systemy wbudowane
kompilacja iteracyjna
programowanie równoległe
algorytm DES
embedded systems
iterative compilation
parallel programming
Data Encryption Standard
Opis:
Artykuł dotyczy wykorzystania kompilacji iteracyjnej do optymalizacji warstwy programowej systemów wbudowanych. W oparciu o autorskie narzędzie WIZUTIC zminejszono czas przetwarzania algorytmu szyfrowania DES. Danymi wejściowymi kompilatora są programy sekwencyjne, wynikami programy zrównoleglone zgodnie ze standardem OpenMP oraz zoptymalizowane pod względem lokalności danych. Parametrem kompilacji iteracyjnej jest rozmiar bloku dla transformacji pętli programowej-tiling.
Embedded systems are special-purpose computers that perform one or few dedicated tasks. They are mostly part of larger electronic devices, such as communication devices, home appliances, office automation, business equipment, automobiles, etc. Complexity of computers has grown tremendously in recent years, because multi-core processors are in widespread use. Parallelized programs must be run on multi-core processors to use the most of its computing power. Exploiting parallel compilers for automatic parallelization of sequential programs accelerates design processes and reduces costs of the designed systems. In this paper there is described a WIZUTIC iterative compiler developed by the Faculty of Computer Science and Information Technology of the West Pomeranian University of Technology. It uses the source code of PLUTO parallel compiler developed at the Ohio State University by Uday Bondhugula. A simulated annealing algorithm is used for finding optimization passes for the given program features. Parameters that are changed in each iteration are tile sizes of loop transformation tiling. Experimental tests are described and the speed-up results obtained for the DES encryption algorithm are given.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 7, 7; 701-704
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Równoległa realizacja przykładowego algorytmu genetycznego z wykorzystaniem akceleratorów GPU
Autorzy:
Ratuszniak, P.
Stasiak, A.
Łańcucki, R.
Powiązania:
https://bibliotekanauki.pl/articles/118416.pdf
Data publikacji:
2018
Wydawca:
Politechnika Koszalińska. Wydawnictwo Uczelniane
Tematy:
algorytm genetyczny
programowanie równoległe
akceleracja obliczeń
akceleratory GPU
CUDA
problem komiwojażera
genetic algorithm
parallel programming
computing acceleration
GPU
travelling salesman problem
Opis:
W artykule zaprezentowano praktyczną implementację aplikacji rozwiązującej przykładowy algorytm genetyczny z wykorzystaniem akceleratorów GPU. W tym przypadku zdecydowano się na rozwiązanie za pomocą algorytmu genetycznego typowego problemu optymalizacyjnego, jakim jest problem komiwojażera. Dodatkowo w celu wykorzystania mocy karty graficznej w tworzonej aplikacji wykorzystano technologię programowania na karcie graficznej – technologię Nvidia CUDA.
The paper presents a practical implementation of a local desktop application that solves exemplary genetic algorithm with the use of GPU accelerators. In this case decided with the use of genetic algorithm to solve typical optimization problem which is travelling salesman problem. Additionally used Nvidia CUDA programming technology in order to use power of GPU in created application.
Źródło:
Zeszyty Naukowe Wydziału Elektroniki i Informatyki Politechniki Koszalińskiej; 2018, 13; 63-78
1897-7421
Pojawia się w:
Zeszyty Naukowe Wydziału Elektroniki i Informatyki Politechniki Koszalińskiej
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Parallel approaches to parametric optimization and the convergence of interactive decision support
Autorzy:
Wierzbicki, A.
Powiązania:
https://bibliotekanauki.pl/articles/205708.pdf
Data publikacji:
2000
Wydawca:
Polska Akademia Nauk. Instytut Badań Systemowych PAN
Tematy:
matematyka obliczeniowa
optymalizacja
optymalizacja parametryczna
programowanie liniowe
programowanie nieliniowe
przetwarzanie równoległe
teoria algorytmów
interactive decision support
optimization
parallel computations
Opis:
In the perspective of parallel processing, a new sense of parametric optimization might be promoted. The paper shows that it, is possible to propose new parallel versions of basic optimization algorithms, as well as an advanced method of securing convergence in interactive mnltiobjective optimization and decision support, all based on a modified concept of parametric embedding. This general idea is exemplified for the case of the simplex algorithm of linear programming by a parameterized and coarse-grain parallel augmented simplex algorithm, where a linear optimization problem can be embedded into a multiple-ohjective family which introduces diversified directions of search cutting through the interior of the original admissible set. For the case of nonlinear programming, a parameterized and coarse-grain parallel variable metric pulsar algorithm is shortly presented, where parallel directional searches are combined with a parametrized variable metric to produce a pulsating, robust nonliear programming algorithm. These two examples concern very basic optimization tools ; at the other end of the spectrmn of optimization-related methods, a general method called outranking trials of securing convergence of interactive multiobjective optimization and decision suport is obtained through parameterizing an outranking relation and using basic properties of order-consistent achievement functions in reference point methodology for testing the existence of outranking points by parallel optimization runs. Thus, the paper presents the use of parallel processing to solve a wide range of modified parametric embedding problems related to optimization and decision support.
Źródło:
Control and Cybernetics; 2000, 29, 1; 427-444
0324-8569
Pojawia się w:
Control and Cybernetics
Dostawca treści:
Biblioteka Nauki
Artykuł

Ta witryna wykorzystuje pliki cookies do przechowywania informacji na Twoim komputerze. Pliki cookies stosujemy w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Twoim komputerze. W każdym momencie możesz dokonać zmiany ustawień dotyczących cookies