Galīga automāta implementācija, izmantojot OpenCL ietvaru
Loading...
Date
Authors
Advisor
Journal Title
Journal ISSN
Volume Title
Publisher
Latvijas Universitāte
Language
N/A
Abstract
Šajā darbā tiek realizēta un aprakstīta bibliotēka,
kas simulē determinēta galīgu automātu-transformatoru darbību
uz vairāku ieejas vārdu komplekta,
izmantojot grafisko procesoru.
Tiek veikta šīs bibliotēkas pareizības un ātrdarbības testēšana.
Uz pieejamām iekārtām un noteiktiem datu izmēriem,
automāta veiktspēja uz GPU ir līdz 30 reizēm lielāka, nekā vienpavediena versijai uz CPU.
Programmatūra tiek realizēta C++ programmēšanas valodā kā statiskā bibliotēka un komandrindas lietotne testēšanai.
Automāta darbināšanai uz GPU tiek izmantota CUDA platforma un OpenCL paralēlas programmēšanas ietvars.
Veiktspējas rezultātu attēlošanai tiek izmantota Python Matplotlib bibliotēka.
Atslēgvārdi: paralēlā programmēšana, GPU, GPGPU, OpenCL, CUDA,
determinēts galīgs automāts, transformators.
This work is an implementation and description of library that simulates deterministic finite state transducer on a set of input words using graphics processing unit. This library is tested for corectness and performance. With used hardware and certatin data sizes automaton execution is 30 times faster compared to one-threaded CPU version. Project is implemented in C++ programming language as a static library and test console application. CUDA platform and OpenCL framework are used as a backend of library. To display results of performance tests, Matplotlib Python library is used. Keywords: parallel computing, GPU, GPGPU, OpenCL, CUDA, deterministic finite automaton, DFA, finite state transducer.
This work is an implementation and description of library that simulates deterministic finite state transducer on a set of input words using graphics processing unit. This library is tested for corectness and performance. With used hardware and certatin data sizes automaton execution is 30 times faster compared to one-threaded CPU version. Project is implemented in C++ programming language as a static library and test console application. CUDA platform and OpenCL framework are used as a backend of library. To display results of performance tests, Matplotlib Python library is used. Keywords: parallel computing, GPU, GPGPU, OpenCL, CUDA, deterministic finite automaton, DFA, finite state transducer.