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ę "Bielecki, W. W" wg kryterium: Wszystkie pola


Wyświetlanie 1-12 z 12
Tytuł:
Non-repudiation of Electronic Health Records in distributed healthcare systems
Niezaprzeczalność elektronicznych dokumentów zdrowotnych w rozproszonych
Autorzy:
Hyla, T.
Bielecki, W.
Pejaś, J.
Powiązania:
https://bibliotekanauki.pl/articles/158290.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
EHR
długoterminowe przechowywanie
niezaprzeczalność
ochrona zdrowia
long-term storage
non-repudiation
healthcare
Opis:
Healthcare systems managing Electronic Health Records (EHR) are being implemented around the world to facilitate access to patients' health data. The primary idea of the EHR is to gather all health information about a subject of care in one place. When a countrywide EHR system is fully implemented, it is assumed that all newly created documentation is stored in the system. Distributed healthcare systems, which connect national or regional healthcare system, are necessary to allow access to patient' health data in any of connected nationwide healthcare systems. In such complex systems, due to high commercial value and sensitiveness of medical data, security is a very important issue. The paper presents a solution for maintaining evidence records, which can ensure a non-repudiation of EHR content, stored in many nationwide systems. In other words, the verifier using the registry evidence records can proof the non-repudiation of EHR content, which is stored outside a patient home healthcare system.
Systemy ochrony zdrowia zarządzające elektronicznymi dokumentami zdrowotnymi (EHR) są wdrażane na całym świecie w celu ułatwienia dostępu do danych o zdrowiu pacjentów. Podstawową ideą EHR jest zebranie wszystkich informacji medycznych dotyczących jednego pacjenta w jednym miejscu. Gdy ogólnokrajowy system EHR jest w pełni wdrożony, zakłada się, że wszystkie nowo utworzone dokumenty są przechowywane w systemie. Rozproszone systemy ochrony zdrowia łączące narodowe lub regionalne systemy ochrony zdrowia są konieczne aby umożliwić specjalistom ds. ochrony zdrowia dostęp do wszystkich danych dotyczących jednego pacjenta. W tak skomplikowanych systemach, z uwagi na dużą wrażliwość danych medycznych i ich dużą wartość komercyjną np. na rynku ubezpieczeń, bezpieczeństwo jest jednym z głównych priorytetów. W artykule przedstawiono rozwiązanie pozwalające na zarządzanie rekordami poświadczeń rejestrów, za pomocą których można wykazać niezaprzeczalność zawartości EHR, przechowywanego w wielu ogólnokrajowych systemach EHR. Zewnętrzny weryfikator używając rekordów poświadczeń rejestrów może wykazać, że zawartość EHR jest oryginalna i niezmodyfikowana.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 10, 10; 1170-1173
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Prywatyzacja zmiennych skalarnych dla wyznaczania równoległości w pętlach programowych
Automatic privatization of scalar variables for coarse-grained parallelism extraction
Autorzy:
Pałkowski, M.
Bielecki, W.
Powiązania:
https://bibliotekanauki.pl/articles/157505.pdf
Data publikacji:
2012
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
prywatyzacja
równoległość gruboziarnista
zrównoleglanie pętli programowych
privatization
coarse-grained parallelism
parallelizing loops
Opis:
Wynikiem automatycznego zrównoleglenia pętli programowych jest kod tożsamy z sekwencyjnym odpowiednikiem, który honoruje wszystkie zależności. Zastosowanie prywatyzacji określonych zmiennych programu pozwala na wyeliminowanie zależności danych, co zmniejsza złożoność obliczeniową wyznaczania równoległości w pętlach programowych a także pozwala zwiększyć stopień wyznaczanej równoległości. W artykule zaprezentowano zastosowanie technikę prywatyzacji zmiennych operującej na zależnościach zapisanych w postaci relacji. Zbadano stosowalność proponowanego rozwiązania na pętlach programowych z benchmarku NAS.
Extracting synchronization-free slices allows us to automatically generate parallel loops. The code can be executed on multi-processors machines in a reduced period of time. Privatization of data is an important technique used by compilers to parallelize loops by eliminating storage-related dependences. A scalar variable defined within a loop is said to be privatizable with respect to that loop if and only if every path from the beginning of the loop body to a use of X within that body must pass through a definition of X before reaching that use. In this paper there is presented an approach to automatic privatization of variables involved in data dependences that permits for extracting loop parallelism. The algorithm input is a set of relation dependences, the output is a parallel loop when appropriate. The scope of the approach applicability is illustrated by means of the NAS Parallel Benchmark suite. The obtained results are compared with another automatic parallelizer and locality optimizer for multicores - Pluto. The future work is considered.
Źródło:
Pomiary Automatyka Kontrola; 2012, R. 58, nr 2, 2; 180-183
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Wyznaczanie równoległości pętli programowych w aplikacjach dedykowanych dla procesorów graficznych
Parallelizing program loops for graphics processing in general purpose computing
Autorzy:
Bielecki, W.
Pałkowski, M.
Powiązania:
https://bibliotekanauki.pl/articles/155271.pdf
Data publikacji:
2011
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
automatyczne zrównoleglanie pętli
fragmenty kodu
GPU
CUDA
OpenCL
obliczenia wysokiej wydajności
loop parallelization
slices
Opis:
Ekstrakcja równoległości w postaci niezależnych fragmentów kodu pozwala wygenerować równoległe pętle programowe w sposób automatyczny. Kod taki umożliwia wykorzystanie mocy obliczeniowej maszyn równoległych, w tym wieloprocesorowych kart graficznych. W niniejszym artykule poddano analizie zastosowanie algorytmów wyznaczania fragmentów kodu dla aplikacji dedykowanych dla procesorów graficznych. Zbadano przyspieszenie i efektywność obliczeń oraz skalowalność wygenerowanego kodu równoległego.
Extracting synchronization-free slices allows automatically generating parallel loops. The code can be executed on multi-processors machines in a reduced period of time. Slicing techniques enable also generating parallel code for graphics processing in general purpose computing. Nowadays, graphic cards support executing multi-threaded applications. GPU systems consist of tens or hundreds of processors. CUDA (an acronym for Compute Unified Device Architecture) is a parallel computing architecture developed by NVIDIA. Graphics processing units (GPUs) are accessible to software developers through variants of industry standard programming languages. Using CUDA, the latest NVIDIA GPUs become accessible for computation like CPUs. The model for GPU computing is to use a CPU and GPU together in a heterogeneous co-processing computing model. The sequential part of the application runs on the CPU and the computationally-intensive part is accelerated by the GPU. From the user's perspective, the application just runs faster because it uses the high-performance of the GPU to boost performance. In this paper slicing algorithms are examined for generating a parallel code for graphic cards are examined. A short example of the code is presented. CUDA statements and technique are explained. Memory cost and transfer data is considered. Speed-up, efficiency and scalability of the code are analyzed.
Źródło:
Pomiary Automatyka Kontrola; 2011, R. 57, nr 8, 8; 963-965
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
An experimental study on recognizing classes of dependence relations
Techniki identyfikacji klas relacji zależności w pętlach programowych
Autorzy:
Bielecki, W.
Klimek, T.
Pietrasik, M.
Powiązania:
https://bibliotekanauki.pl/articles/156048.pdf
Data publikacji:
2009
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
pętle afiniczne
relacja zależności
transformacje pętli
przetwarzanie równoległe
affine loops
dependence relations
program transformation
parallelization
Opis:
A classification of dependence relations representing exact dependences in program loops is presented. The class of a relation causes the choice of techniques for program loop parallelization. Techniques to recognize the class of a relation are presented. The implementation of these techniques by means of the Omega library is discussed. Results of an experimental study aimed at recognizing classes of dependence relations extracted for popular benchmarks (Livermore Loops, NAS, and UTDSP) are outlined.
W artykule dokonano podziału relacji zależności występujących w pętlach programowych. Na podstawie przeprowadzonych obserwacji wyodrębniono sześć podstawowych klas takich relacji. Trafne rozpoznanie danej klasy relacji opisującej zależności, determinuje dobór odpowiedniej techniki transformacji pętli programowej i tym samym pozwala na uzyskanie znacznie większego jej stopnia równoległości w porównaniu z metodami bazującymi na rozwiązaniach przybliżonych. Rozwiązania takie, zawierają zdecydowanie większą liczbę zależności, aniżeli ich faktyczna liczba wystąpień. W celu ułatwienia procesu identyfikacji poszczególnych klas relacji zależności, przedstawiono szereg formalnych metod ich rozpoznania wykorzystujących szeroki wachlarz mechanizmów zawartych w bibliotece Omega. Na potrzeby przeprowadzonych badań zaimplementowano narzędzie, w ramach którego przeanalizowano zestawy pętli trzech popularnych benchmarków : Livermoore, NAS i UTDSP. Uzyskane wyniki pozwoliły wyciągnąć wnioski odnośnie procentowego udziału relacji zależności w zaproponowanych przez autorów klasach.
Źródło:
Pomiary Automatyka Kontrola; 2009, R. 55, nr 10, 10; 799-802
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Wpływ redukcji zależności w pętlach programowych na zużycie zasobów w systemach wbudowanych
Impact of dependence reduction in programming loops on resource usage in embedded systems
Autorzy:
Bielecki, W.
Siedlecki, K.
Powiązania:
https://bibliotekanauki.pl/articles/155185.pdf
Data publikacji:
2011
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
redukcja zależności
transformacje pętli programowych
systemy osadzone
embedded systems
program loop transformation
redundant dependence removing
Opis:
Zaprezentowano wpływ redukcji zależności na zużycie zasobów dla pętli programowych zapisanych w języku ANSI-C. Do redukcji zależności wykorzystane zostały popularne techniki (redukcja zmiennych skalarnych, indukcja zmiennych, przekoszenie pętli, podział i łączenie pętli oraz rozszerzenie zmiennych skalarnych) jak również nowe pozwalające na redukcję zależności bez konieczności modyfikacji kodu pętli. Omówiono zużycie zasobów pamięciowych w zależności od zastosowanej transformacji. Dla przykładowych pętli przedstawiono analizę zużycia zasobów w kontekście systemów osadzonych.
The influence of dependence removal techniques on computer resource utilization for program loops is investigated. Source loops are represented in the C language. Removing redundant dependence relations allows reducing time complexity of algorithms whose input is a set of dependence relations while output is a parallel program. In addition, removing dependences leads to reducing computer resource utilization. Well-known techniques and those proposed by the authors are examined. The following well-known techniques are investigated: scalar reduction, induction variable elimination, loop skewing, loop splitting, loop fissioning, and scalar expansion. All techniques are illustrated by means of examples. Additional techniques being examined are removing dependence relations describing the same dependences as well as removing dependence relations representing linear dependent distance vectors. For a chosen example, for each technique under examination, its effectiveness is presented and the effect of com-puter resource utilization is shown.
Źródło:
Pomiary Automatyka Kontrola; 2011, R. 57, nr 8, 8; 833-835
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Zwiększenie lokalności programów równoległych wykonywanych w systemach osadzonych
Increasing data locality of parallel programs executed in embedded systems
Autorzy:
Bielecki, W.
Kraska, K.
Powiązania:
https://bibliotekanauki.pl/articles/156188.pdf
Data publikacji:
2008
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
lokalność danych
kompilatory
systemy osadzone
przetwarzanie równoległe
transformacje pętli programowych
data locality
compilers
embedded systems
parallel processing
loop transformations
Opis:
Zwiększenie lokalności danych w programie jest niezbędnym elementem zwiększenia wydajności części programowych systemu osadzonego, zmniejszenia zużycia energii oraz redukcji rozmiaru pamięci w układzie. Przedstawiono komplementarne wykorzystanie metody szacowania lokalności danych wobec nowej metody ekstrakcji wątków, ich aglomeracji w celu dostosowania do możliwości docelowej architektury przy zastosowaniu różnych typów podziału iteracji pętli (mapowanie czasowo-przestrzenne) i z uwzględnieniem wpływu zastosowania znanych technik poprawy lokalności danych. Wybór najlepszej kombinacji transformacji kodu pod kątem lokalności danych umożliwia zwiększenie wydajności programu względem wskazanych czynników. Zaprezentowano podejście do analizy lokalności danych dla wybranych pętli, przedstawiono i omówiono wyniki badań eksperymentalnych a także wskazano kierunki dalszych prac.
Increasing data locality in a program is a necessary factor to improve performance of software parts of embedded systems, to decrease power consumption and reduce memory on chip size. A possibility of applying a method of quantifying data locality to a novel method of extracting synchronization-free threads is introduced. It can be used to agglomerate extracted synchronization-free threads for adopting a parallel program to a target architecture of an embedded system under various loop schedule options (space-time mapping) and the influence of well known techniques to improve data locality. The choice of the best combination of loop transformation techniques regarding to data locality makes possible improving program performance. A way of an analysis of data locality is presented. Experimental results are depicted and discussed. Conclusion and future research are outlined.
Źródło:
Pomiary Automatyka Kontrola; 2008, R. 54, nr 8, 8; 464-468
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Using transitive closure and transitive reduction to extract coarse-grained parallelism in program loops
Redukcja nadmiarowej synchronizacji w ekstrakcji równoległości gruboziarnistej
Autorzy:
Bielecki, W.
Pałkowski, M.
Siedlecki, K.
Powiązania:
https://bibliotekanauki.pl/articles/152522.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
fragmenty kodu
synchronizacja
równoległość
tranzytywne domknięcie i redukcja
synchronization
slices
parallelism
transitive closure and reduction
Opis:
A technique for extracting coarse-grained parallelism available in loops is presented. It is based on splitting a set of dependence relations into two sets. The first one is to be used for generating code scanning slices while the second one permits us to insert send and receive functions to synchronize the slices execution. The paper presents a way demonstrating how to remove redundant synchronization in generated code by means of the transitive reduction operation. Results of experiments - how many synchronization points can be removed, speed-up and efficiency of examined parallel loops are discussed.
W artykule zaprezentowano technikę ekstrakcji równoległości grubo-ziarnistej w pętlach programowych. Bazuje ona na podziale relacji zależności na dwa zbiory: na podstawie pierwszego generowany jest kod skanujący niezależne fragmenty, natomiast drugi służy do wstawienia funkcji send i receive (wyślij i odbierz) służących do synchronizacji tych fragmentów. Operacje te zrealizowano za pomocą semaforów, możliwe jest jednak wykorzystanie innej konstrukcji, bardziej wydajnej dla danego środowiska. Algorytm generuje kod z zaznaczonymi punktami synchronizacji, nie narzuca jednak ich implementacji. W artykule przeanalizowano technikę wyszukiwania i eliminacji zbędnych punktów synchronizacji. Ekstrakcja równoległości za pomocą fragmentów kodu bazuje na operacji tranzytywnego domknięcia, znanej także z teorii grafów. Operacja ta jest również wykorzystana do obliczenia tranzytywnej redukcji, za pomocą której eliminowana jest nadmiarowa synchronizacja. Usuwanie zbędnej komunikacji pomiędzy wątkami obliczeń jest istotne, ponieważ ich obsługa zwłaszcza dla komputerów z pamięcią dzieloną, w których ich koszt obsługi jest istotny. Docelowe jest zatem uzyskanie gruboziarnistego kodu równoległego. Zbadano także wyniki przeprowa-dzonych eksperymentów pod kątem przyspieszenia i efektywności obliczeń.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 8, 8; 976-979
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Zwiększenie wydajności aplikacji wykonywanych w systemach osadzonych poprzez zwiększenie lokalności danych
Improving the application performance of embedded systems by increasing data locality
Autorzy:
Bielecki, W.
Kraska, K.
Powiązania:
https://bibliotekanauki.pl/articles/155612.pdf
Data publikacji:
2007
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
lokalność danych
zrównoleglenie programów
transformacje pętli programowych
kompilatory
data locality
parallelization of programs
loop transformations
compilers
Opis:
Efektywne użycie pamięci jest krytycznym warunkiem uzyskania wysokiej wydajności przez oprogramowanie wykonywane na współczesnych architekturach z hierarchią pamięci. W systemach osadzonych efektywne wykorzystanie pamięci przez aplikacje umożliwia przede wszystkim zmniejszenie wymagań dla sprzętu przy ustalonych kryteriach wydajnościowych, redukcję rozmiaru pamięci jak i zmniejszenie zużycia energii. Wskazane czynniki bezpośrednio wpływają na koszt budowy systemu osadzonego. Osiągnięcie wysokiego poziomu efektywności użycia pamięci wymaga tworzenia oprogramowania uwzględniającego lokalność danych. Oprogramowanie intensywnie eksploatujące pamięć, takie jak chociażby aplikacje multimedialne, zazwyczaj przetwarza w pętlach programowych znaczne ilości danych umieszczonych w tablicach. Sposo-bem na zwiększenie lokalności takich programów jest transformacja pętli programowych do postaci bardziej optymalnego kodu. W artykule przedstawiono aktualny stan badań w zakresie metod transformacji programów zwiększając.
The effective use of memory subsystem is the critical condition for software to achieve the high performance on the contemporary architectures with hierarchy of memory. In embedded systems the effective utilization of the memory subsystem mainly enables to decrease requirements for hardware with respect to established performance criteria, reduce the size of memory and decrease the energy consumption. The indicated factors influence on cost of building an embedded system directly. The achievement of high efficiency of memory subsystem requires creating of software with high data locality. Software that intensely explores memory, such as multimedia applications, usually processes within program loops considerable quantities of data placed in arrays. The transformation of program loops to more optimal code is the way on improvement data locality. In the paper, the state of the art of loop transformation methods improving data locality was presented. Additionally, the possibility of estimating a level of data loality and improving data locality for perfectly nested loop were examined. Finally, the results of analysis investigations were introduced illustrating the efficiency of considered transformations.
Źródło:
Pomiary Automatyka Kontrola; 2007, R. 53, nr 7, 7; 86-88
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Extracting representative loop statement instances of synchronization-free slices
Ekstrakcja instancji instrukcji fragmentów kodu pozbawionych synchronizacji w pętlach programowych
Autorzy:
Bielecki, W.
Palkowski, M.
Beletska, A.
Powiązania:
https://bibliotekanauki.pl/articles/156058.pdf
Data publikacji:
2009
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
fragmenty kodu pozbawione synchronizacji
równoległość
instancje instrukcji pętli programowych
synchronization-free slices
parallelism
representative loop statement instances
Opis:
Extracting synchronization-free parallelism by means of the Iteration Space Slicing Framework consists of two steps. First, representative loop statement instances of slices are extracted. Next, slices are reconstructed from their representatives and parallel code scanning slices and elements of each slice is generated. In this paper, we present how to benefit from this technique in practice. We explain how to extract representative loop statement instances of slices by means of the Omega Library enlarged by four new functions allowing us to simplify the process of extracting slice representatives. Results of experiments with the NAS and UTDSP benchmarks are presented.
Rozwój architektur wielordzeniowych wymusza poszukiwanie algorytmów automatycznego zrównoleglenia aplikacji. W artykule opisano zrównoleglenie pętli programowych za pomocą ekstrakcji niezależnych fragmentów kodu. Ekstrakcja równoległości w pętlach programowych pozbawionych synchronizacji za pomocą podziału przestrzeni iteracji składa się z dwóch kroków. Najpierw znajdowane są instancje instrukcji będące początkami fragmentów kodu. Następnie fragmenty kodu uzupełniane są o wszystkie instrukcje i generowany jest kod równoległy. W artykule przedstawiono korzyści wynikające z takiego podejścia. Wyjaśniono sposób poszukiwania instancji instrukcji fragmentów kodu za pomocą biblioteki Omega rozszerzonej o nowe funkcje upraszczające poszukiwanie instrukcji należących do fragmentów kodu. Opis proponowanego podejścia uzupełniono o zbiór eksperymentów na pętlach testowych NAS i UTDSP.
Źródło:
Pomiary Automatyka Kontrola; 2009, R. 55, nr 10, 10; 807-810
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Ekstrakcja równoległości w programach ANSI C dla systemów osadzonych
Extracting parallelism in ANSI C programs for embedded computer systems
Autorzy:
Bielecki, W.
Siedlecki, K.
Kraska, K.
Powiązania:
https://bibliotekanauki.pl/articles/154605.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
kompilatory
osadzone systemy komputerowe
ANSI C
przetwarzanie równoległe
transformacje pętli programowych
compilers
embedded computer systems
parallel processing
loop transformations
Opis:
W artykule zaprezentowano nowe podejście do ekstrakcji równole-głości w programach ANSI C dla architektur wieloprocesorowych polega-jące na wyznaczaniu niezależnych fragmentów obliczeń w pętlach programowych dowolnie zagnieżdżonych. Przedstawione podejście pozwala na ekstrakcję równoległości dla szerszego spektrum pętli programowych w porównaniu z transformacjami afinicznymi, uznawanymi dotychczas za najbardziej efektywne. Przedstawiono analizę zastosowania proponowanego podejścia dla wybranych źródeł języka ANSI C. Omówiono wyniki badań eksperymentalnych oraz wskazano kierunki dalszych prac.
The application of embedded computer systems extends from small consumer products to complex industrial solutions. Performance critical solutions require application of more efficient controllers using parallel architectures such as VLIW or multiprocessor (multi cores) architectures. The interest in using the parallelism in embedded systems puts up new challenges for science and engineering and requires new methods and tools. The paper presents a new approach to the extraction of parallelism in ANSI C programs for multiprocessor architectures, consisting of synchronization free threads of computations (slices). The presented approach allows the extraction of parallelism on a wider range of program loops than that extracted by the affine transformation framework identified as the most efficient. Scientific results achieved are implemented as an academic source to source parallelizing compiler. The analysis of applying the approach to selected ANSI C sources is presented. Experimental results are depicted and discussed. Conclusions and future research are discussed.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 7, 7; 697-700
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Programming synchronization-free parallelism using Intel Threading Building Blocks
Programowanie równoległości wolnej od synchronizacji przy użyciu Intel TBB
Autorzy:
Bielecki, W.
Palkowski, M.
Powiązania:
https://bibliotekanauki.pl/articles/153729.pdf
Data publikacji:
2011
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
fragmenty kodu pozbawione synchronizacji
równoległość
zadaniowość
Intel Threading Building Blocks
synchronization-free slices
parallel computing
tasking
Opis:
Extracting synchronization-free parallelism by means of the Iteration Space Slicing Framework results in parallel pseudo-code that is independent on a parallel computer architecture and API/library, hence it cannot be directly compiled. For producing parallel programs for shared memory multiprocessors, Threading Building Blocks (TBB) can be applied that is a library supporting scalable parallel programming based on the standard C++ language. In this paper, we present how to benefit from TBB in practice on the basis of pseudo-code representing synchronization-free slices produced by a tool using the Omega Library. Results of experiments with the NAS benchmarks suite are presented.
Zastosowanie techniki opartej na ekstrakcji równoległości pozbawionej synchronizacji w pętlach programowych pozwala na wygenerowanie pseudokodu, który jest niezależny od architektury komputera oraz języka lub biblioteki programowania. Taki kod nie może być wprost kompilowany. Jest wymagane przekształcenie takiego pseudokodu na rzeczywisty kod równoległy. W tym celu może być zastosowane narzędzie Intel Threading Building Blocks, które jest biblioteką wspierająca skalowalne programowanie równoległe w standardzie C++. Nie wymaga specjalnego języka programowania i specjalnych kompilatorów. Zaletą biblioteki Threading Building Blocks jest możliwość uruchomienia w dowolnym środowisku programowo-sprzętowym i systemie operacyjnym. W artykule przedstawiono korzyści wynikające z tworzenia aplikacji równoległych za pomocą TBB. Wyjaśniono sposób poszukiwania instancji instrukcji fragmentów kodu przy użyciu biblioteki Omega i tworzenie najpierw równoległego pseudo-kodu, a dalej transformacja pseudokodu na kod równoległy z wykorzystaniem TBB. Proponowane podejście zostało zweryfikowane za pomocą zbioru pętli testowych z benchmarku NAS. Zbadano przyspieszenie i efektywność kodu równoległego oraz skalowalność w aspekcie do zmiennego rozmiaru obliczeń badanych pętli.
Źródło:
Pomiary Automatyka Kontrola; 2011, R. 57, nr 11, 11; 1380-1383
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
An approach to form affine time partitioning for statement instances of arbitrarily nested loops
Wyznaczenie harmonogramu instancji instrukcji dla pętli dowolnie zagnieżdżonych
Autorzy:
Bielecki, W.
Siedlecki, K.
Wernikowski, S.
Powiązania:
https://bibliotekanauki.pl/articles/158284.pdf
Data publikacji:
2010
Wydawca:
Stowarzyszenie Inżynierów i Techników Mechaników Polskich
Tematy:
zrównoleglenie pętli
harmonogram swobodny
afiniczne odwzorowanie czasowe
loop parallelization
free schedule
affine time partitioning
Opis:
A novel approach to form affine time partitioning for statement instances of arbitrary nested loops is presented. It is based on extracting free-scheduling which next is used to form a system of equations to produce legal time partitioning. The approach requires an exact dependence analysis. To carry out experiments, the dependence analysis by Pugh and Wonnacott was chosen. Examples illustrating the approach and the results of experiments are presented.
Przedstawiona została nowa metoda do tworzenia afinicznych odwzorowań czasowych instancji instrukcji dla pętli dowolnie zagnieżdżonych. Metoda bazuje na ekstrakcji harmonogramu swobodnego, wykorzystywanego do tworzenia legalnego odwzorowania czasowego. Metoda wymaga dokładnej analizy zależności. Do przeprowadzenia eksperymentów, wybrana została analiza zależności zaproponowana przez Pugh'a and Wonnacott'a. W analizie tej zależności reprezentowane są przez relacje zależności, natomiast przestrzeń iteracji przez zbiory. Do tworzenie zbiorów i relacji zależności wykorzystywana jest arytmetyka Presburgera. Zostały przedstawione przykłady ilustrujące działanie metody dla pętli idealnie zagnieżdżonej, jak i dla pętli nieidealnie zagnieżdżonej. Eksperymenty przeprowadzone zostały na procesorach graficznych firmy nVidia z wykorzystaniem technologii CUDA w trybie zgodności z wersją 1.1. Wyniki zostały przedstawione w formie tabelarycznej. Zostały przedstawione prace pokrewne oraz kierunek dalszych badań.
Źródło:
Pomiary Automatyka Kontrola; 2010, R. 56, nr 10, 10; 1186-1189
0032-4140
Pojawia się w:
Pomiary Automatyka Kontrola
Dostawca treści:
Biblioteka Nauki
Artykuł
    Wyświetlanie 1-12 z 12

    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