National Repository of Grey Literature 47 records found  1 - 10nextend  jump to record: Search took 0.00 seconds. 
Employing GPU to Process Data from Electron Microscope
Bali, Michal ; Kruliš, Martin (advisor) ; Šikudová, Elena (referee)
Electron backscatter diffraction (EBSD) is a common tool used by phy- sicists to examine crystalline materials, which is based on taking pictures of material microstructure using electron microscope. To determine additional characteristics of studied specimen, a specific variant called High resolution EBSD has been proposed (and partially adopted). The technique takes se- veral subregions of the images taken by the EBSD camera and uses cross- correlation to measure deformation of obtained patterns. Usability of this method is limited by its relatively high computational complexity, which makes it useless for the analysis of larger specimen surfaces. At the same time, processing of individual subregions and images is independent, which makes it appropriate for parallelization provided by modern GPUs. In this thesis, we describe the technique used to process the EBSD data in detail, analyze it and implement the most computationally demanding parts using the CUDA technology. Compared to a reference Python implementation, we measured a speedup of 30-40-times when using a double floating precision and up to a 270-times speedup for a single precision.
Remotely controlled multi-platform music player
Jurčo, Michal ; Kruliš, Martin (advisor) ; Kopecký, Michal (referee)
Music plays on many places as a primary or secondary tool to make people feel relaxed and in good mood. Most currently available applications focus on what is being played but do not adapt music choice based on who is currently listening to. The most precise way is to let the listeners decide which is what jukeboxes do but they have not caught up with the progress of technology yet. The goal of this thesis was to design and implement a music player where playback can be remotely controlled by multiple users. Application operator may create a music library from songs stored in local files (such as MP3) and organize these songs in playlists. Regular users may explore playlists and enqueue songs into playback. The application is ready for integration with mobile technologies, so regular users may control the playback via a mobile application. 1
Module for real-time object detection in video stream
Antošík, Vojtěch ; Skopal, Tomáš (advisor) ; Kruliš, Martin (referee)
Over the last few years surveillance cameras have become ubiquitous. With so many cameras, analyzing the output manually has become very laborious and inefficient. In recent years, however, a lot of development has been focused on automatic video process- ing using artificial intelligence. There are many deep learning models for object detection offering basic low-level analysis. This thesis builds upon these models and creates an efficient video processing pipeline that serves as a base for further higher-level analyses. We aim to develop sufficiently fast video processing pipeline that will be able to process surveillance camera video streams in real-time while maintaining low CPU utilization. We move as much of the pipeline as possible to the GPU, with the data never leaving the GPU memory before the very end of the pipeline, and therefore leaving most of the CPU computational power for further data analysis. Our testing shows that our implemen- tation achieves performance very close to real-time with 1080p video even on common consumer hardware. 1
Analysing and Optimizing GPU Kernels with Machine Learning
Šťavík, Petr ; Kruliš, Martin (advisor) ; Straka, Milan (referee)
Graphics processing units (GPUs) were originally used solely for the purpose of graph- ics rendering. This changed with the introduction of technologies like CUDA that enabled to use graphics processors as any other computing device. However, writing an efficient program for GPUs, also called GPU kernel, is one of the most difficult programming disciplines. The latest research in the field suggests that these difficulties could be po- tentially mitigated with machine learning methods. One especially successful approach is based on the utilization of recurrent neural networks (RNNs) over different representa- tions of source code. In this work, we present two RNN-based solutions that are able to derive performance characteristics of a CUDA GPU kernel directly from its intermediate representation called PTX. We assess the applicability of our two methods in two GPU op- timization tasks. In heterogeneous device mapping task, our methods are able to achieve accuracies of around 82%, results that are slightly worse than the current state of the art. In a more challenging achieved occupancy task, where the goal is to correctly predict one out of ten classes, our two methods achieve accuracies above 50%. These promising results indicate great potential in additional research focused in a similar direction. 1
Load Balancing in Evaluation Systems for Programming Assignments
Buchar, Jan ; Kruliš, Martin (advisor) ; Tůma, Petr (referee)
Systems for automated evaluation of assignments are a valuable aid for both teachers of programming courses and their students. The objective of this thesis is to examine the possibilities of deploying such systems in a large-scale distributed environment and the challenges of such endeavors. A sizable part of the requirements comes from experience with ReCodEx - an assignment evaluation system developed at the department of the supervisor. Modern server multi-core processors provide considerable computing power that can be used for assignment evaluation. However, parallel measurements can interfere with each other. This causes unstable results, which detriments the fairness of grading. Isolation (sandboxing) technologies can cause similar effects. We measure both of these influences and use the results to determine to what degree can multi-core processors be exploited. The problem of efficient distribution of work between multiple evaluation workers is complementary to that of utilizing multi-core machines. We survey scheduling algorithms and design an experiment to compare their performance. Additionally, we examine the possibility of leveraging container technologies to simplify the deployment of software required for evaluation. This leads to both a smaller administration overhead and a less complex...
Board Games Tracking Using Camera and Depth Sensor
Staněk, Roman ; Kruliš, Martin (advisor) ; Musil, Tomáš (referee)
Board games have been the everlasting amusement of mankind. During the last few decades, there were many attempts to recognize the state of the games or even track the whole matches using an RGB camera. In this thesis, we use low-cost sensor containing both RGB camera and depth sensor, namely Kinect v2 from Microsoft Corporation, to do such a task. The goal is to analyze properties of depth sensor on small scenes and propose ways in which can depth data improve results of existing solutions used to locate game board and chess pieces. To demonstrate those techniques, we developed a program able to track the chess match. It can locate the chessboard, detect the presence of black and white chess pieces on individual squares, validate movements, and record game so that it can be saved and loaded later. 1
Web Editor and Simulator of Logic Gate Networks
Horák, Jan ; Kruliš, Martin (advisor) ; Bulej, Lubomír (referee)
One of the topics taught in computer science is the principles of logic gates. An application that allows students to experiment with logic gates and gate networks can be used as a tool to provide better understanding of the topic. However, in order for the application to be usable, it should be available inde- pendently of the software on the user's computer. As a part of this thesis, we were able to implement such application. It provides users with the function- ality of constructing circuits from logic gates interconnected with wires. The application is able to simulate the network and display logic values on each of the wire. Additional functionality has been provided to make the application more enjoyable - unlimited canvas for circuit construction, a simple tutorial introducing new users to the basics of the application, import and export func- tionality and a library of logic circuits that can be imported onto the editing canvas in the form of gate networks or as single components. The application is easily expandable and the source code is available under an open-source license. 1
Zlepšení metod rozpoznávání obličejů s pomocí senzoru pro sledování pohybu těla
Belák, Michal ; Kruliš, Martin (advisor) ; Lokoč, Jakub (referee)
Kinect is a motion tracking input device developed by Microsoft. It uses a variety of on-board sensors to efficiently find and track human bodies represented in skeletal models. It was developed primarily to facilitate controlling of the Xbox 360 gaming console using body movement. Microsoft also released a software development kit for Kinect, giving programmers access to both raw data streams and computed tracking data from a connected Kinect. A second version of Kinect was released for Xbox One, bringing various hardware improvements as well as a new and incompatible version of the SDK. The main objective of this thesis is to determine, whether Kinect may be a better platform for real-time face recognition than regular cameras. We developed software compatible with both versions of Kinect, combining Kinect tracking data with existing face recognition libraries. We used this software to assess the benefits of tracking data by empirical evaluation on collected data.
Web Platform for Parallel Programming Tutorials
Buzek, Emanuel ; Kruliš, Martin (advisor) ; Yaghob, Jakub (referee)
This thesis presents a novel approach to introducing programmers into parallel and distributed computing. The main objective of this work is to develop an online coding environment which contains tutorials in form of simple parallel programming tasks. The online application simulates and visualizes multiple agents which cooperate on a task in virtual environment. These agents are programmed in a custom procedural language similar to JavaScript. A significant part of this thesis focuses on the design of this language. The client-side compiler is built using tools similar to Bison and Flex. The parallel simulator supports different scheduling algorithms including lock- step mode simulating computation on a GPU. An important aspect of the platform is extensibility; therefore, the tutorials and the packages for the programming language can be added as plug-ins. The final part of this thesis is dedicated to the implementation of sample packages and tutorials which demonstrate that the key goals of this thesis have been accomplished.
Streaming system scheduling for Xeon Phi
Faltín, Tomáš ; Yaghob, Jakub (advisor) ; Kruliš, Martin (referee)
Task scheduling in operating system area is a well-known problem on traditional system architectures (NUMA, SMP). Unfortunately, it does not perform well on emerging many-core architectures, especially on Intel Xeon Phi. We collected all publicly available information about the architecture of Xeon Phi. After that, we benchmarked the Xeon Phi in order to find the missing information about its architecture. We focused especially on the information about cores and memory controllers. These are the most important parts when designing a scheduler. Based on the results, we proposed improvements for scheduling algorithm in the Bobox (an experimental streaming system). However, we found that the biggest problem is not in the scheduling algorithm, but in the design of operators' parallelization. Therefore, we proposed improvements to the parallelization and tested one of the proposals.

National Repository of Grey Literature : 47 records found   1 - 10nextend  jump to record:
Interested in being notified about new results for this query?
Subscribe to the RSS feed.