Spelling suggestions: "subject:"skeletonbased"" "subject:"skeletonised""
1 |
Automatic skeleton-driven performance optimizations for transactional memoryWanderley Goes, Luis Fabricio January 2012 (has links)
The recent shift toward multi-core chips has pushed the burden of extracting performance to the programmer. In fact, programmers now have to be able to uncover more coarse-grain parallelism with every new generation of processors, or the performance of their applications will remain roughly the same or even degrade. Unfortunately, parallel programming is still hard and error prone. This has driven the development of many new parallel programming models that aim to make this process efficient. This thesis first combines the skeleton-based and transactional memory programming models in a new framework, called OpenSkel, in order to improve performance and programmability of parallel applications. This framework provides a single skeleton that allows the implementation of transactional worklist applications. Skeleton or pattern-based programming allows parallel programs to be expressed as specialized instances of generic communication and computation patterns. This leaves the programmer with only the implementation of the particular operations required to solve the problem at hand. Thus, this programming approach simplifies parallel programming by eliminating some of the major challenges of parallel programming, namely thread communication, scheduling and orchestration. However, the application programmer has still to correctly synchronize threads on data races. This commonly requires the use of locks to guarantee atomic access to shared data. In particular, lock programming is vulnerable to deadlocks and also limits coarse grain parallelism by blocking threads that could be potentially executed in parallel. Transactional Memory (TM) thus emerges as an attractive alternative model to simplify parallel programming by removing this burden of handling data races explicitly. This model allows programmers to write parallel code as transactions, which are then guaranteed by the runtime system to execute atomically and in isolation regardless of eventual data races. TM programming thus frees the application from deadlocks and enables the exploitation of coarse grain parallelism when transactions do not conflict very often. Nevertheless, thread management and orchestration are left for the application programmer. Fortunately, this can be naturally handled by a skeleton framework. This fact makes the combination of skeleton-based and transactional programming a natural step to improve programmability since these models complement each other. In fact, this combination releases the application programmer from dealing with thread management and data races, and also inherits the performance improvements of both models. In addition to it, a skeleton framework is also amenable to skeleton-driven performance optimizations that exploits the application pattern and system information. This thesis thus also presents a set of pattern-oriented optimizations that are automatically selected and applied in a significant subset of transactional memory applications that shares a common pattern called worklist. These optimizations exploit the knowledge about the worklist pattern and the TM nature of the applications to avoid transaction conflicts, to prefetch data, to reduce contention etc. Using a novel autotuning mechanism, OpenSkel dynamically selects the most suitable set of these pattern-oriented performance optimizations for each application and adjusts them accordingly. Experimental results on a subset of five applications from the STAMP benchmark suite show that the proposed autotuning mechanism can achieve performance improvements within 2%, on average, of a static oracle for a 16-core UMA (Uniform Memory Access) platform and surpasses it by 7% on average for a 32-core NUMA (Non-Uniform Memory Access) platform. Finally, this thesis also investigates skeleton-driven system-oriented performance optimizations such as thread mapping and memory page allocation. In order to do it, the OpenSkel system and also the autotuning mechanism are extended to accommodate these optimizations. The conducted experimental results on a subset of five applications from the STAMP benchmark show that the OpenSkel framework with the extended autotuning mechanism driving both pattern and system-oriented optimizations can achieve performance improvements of up to 88%, with an average of 46%, over a baseline version for a 16-core UMA platform and up to 162%, with an average of 91%, for a 32-core NUMA platform.
|
2 |
Skeppsteknik : en studie om teknikutveckling hos skepp i Medelhavet / Ship technology : a study about the technical development of ships in the MediterraneanSokulu, Sila January 2010 (has links)
<p>Techniques used in the building of a number of ships from the Mediterranean will be presented in this paper. The two techniques thnat will be discussed are shell-based technique and skeleton-basedtechnique. An attempt to clearify and delineate the transition between these two techniques will be made. The possible reasons for transition will then be described and discussed. The development ofthe techniques is going to be identified with help from four wrecks by analyzing their edge joineriesand this facts will be used as a basis for a chronological presentation. Finally, data from theanalyzed wrecks will be compared and the results are interpreted in the text.</p>
|
3 |
Skeppsteknik : en studie om teknikutveckling hos skepp i Medelhavet / Ship technology : a study about the technical development of ships in the MediterraneanSokulu, Sila January 2010 (has links)
Techniques used in the building of a number of ships from the Mediterranean will be presented in this paper. The two techniques thnat will be discussed are shell-based technique and skeleton-basedtechnique. An attempt to clearify and delineate the transition between these two techniques will be made. The possible reasons for transition will then be described and discussed. The development ofthe techniques is going to be identified with help from four wrecks by analyzing their edge joineriesand this facts will be used as a basis for a chronological presentation. Finally, data from theanalyzed wrecks will be compared and the results are interpreted in the text.
|
4 |
A Machine Learning Framework for Real-Time Gesture and Skeleton-Based Action Recognition in Unit : Exploring Human-Compute-Interaction in Game Design and InteractionMoeini, Arian January 2024 (has links)
This master thesis presents a machine learning framework for real-time gesture and skeleton-based action recognition, integrated with the Unity game engine. The system aims to enhance human-computer interaction (HCI) in gaming and 3D related applications through natural movement recognition, by training a model on skeleton tracking data. The framework is trained to accurately categorize and identify gestures such as kicks and punches, enabling a more immersive gaming experience not existing in traditional controllers. After studying the evolution of HCI and how machine learning has transformed and reshaped the interaction paradigm, the prototype system is built through data collection, augmenting, and preprocessing, followed by training and evaluating a Long Short-Term Memory (LSTM) neural network model for gesture classification. The model is integrated into Unity via Unity Sentis using Open Neural Network Exchange (ONNX) format, enabling efficient real-time action recognition in 3D space. Each component of the pipeline is available and adaptable for future custom- ization and needs, skeleton tracking and Unity integration is built using the ZED 2i camera and ZED SDK. Experimental results demonstrate that the system presented can achieve over 90% accuracy in identifying predefined gestures. As a bridging solution tailored for Unity, this framework offers a practical solution to action recognition that could be found useful in future applications. This work contributes to advancing human-computer interaction and offers a foundation for further development in gesture-based Unity game design.
|
Page generated in 0.0528 seconds