Today we have an established stack of tools to develop applications, systems and services for scientific purposes. However, not so long ago a new technology, called .NET Core appeared. It's supervised by Microsoft...
详细信息
This paper deals with the topic of education in field of the High Performance Computing (HPC). According to our survey in Slovak academic institutions, there is lack of the HPC infrastructure users, who are capable of...
详细信息
This work describes how to find 3D objects in 2D images. The images may contain various illumination conditions and backgrounds. Furthermore the distance and the rotation of the camera with respect to the object can b...
详细信息
This work describes how to find 3D objects in 2D images. The images may contain various illumination conditions and backgrounds. Furthermore the distance and the rotation of the camera with respect to the object can be arbitrary. The method described in this work provides a way to reduce computation time of the 3D object localization problem by searching only from the regions of the image that include a combination of the most common colors of the object. The accuracy and speed of the implementation is tested on images taken under various illuminations and backgrounds.
We propose a novel synchronization mechanism called versioning. It dynamically establishes a deterministic order of memory accesses in parallel programs that have serial semantics, in a way that is transparent to the ...
详细信息
We propose a novel synchronization mechanism called versioning. It dynamically establishes a deterministic order of memory accesses in parallel programs that have serial semantics, in a way that is transparent to the programmer. This order is created in a distributed manner and is enforced by monitoring memory accesses and stalling threads if necessary. Versioning gives rise to parallel programming models in which programmers need not explicitly synchronize threads and only need to specify shared data, which greatly simplifies parallel programming. However, versioning introduces overheads and thus demands architectural support. We describe versioning and the architectural support it needs. We also propose one parallel programming model that utilizes versioning and use it to parallelize 13 benchmark applications. We build an FPGA prototype of a multiprocessor system with versioning support and show that good parallel speedups are obtained. Our analysis shows minimal impact of versioning, both in terms of timing overheads and in terms of additional hardware.
parallel programming is an important issue for current multi-core processors and necessary for new generations of many-core architectures. This includes processors, computers, and clusters. However, the introduction o...
详细信息
ISBN:
(纸本)9781467313537
parallel programming is an important issue for current multi-core processors and necessary for new generations of many-core architectures. This includes processors, computers, and clusters. However, the introduction of parallel programming in undergraduate courses demands new efforts to prepare students for this new reality. This paper describes an experiment on a traditional Computer Science course during a two-year period. The main focus is the question of when to introduce parallel programming models in order to improve the quality of learning. The goal is to propose a method of introducing parallel programming based on OpenMP (a shared-variable model) and MPI (a message-passing model). Results show that when the OpenMP model is introduced before the MPI model the best results are achieved. The main contribution of this paper is the proposed method that correlates several concepts such as concurrency, parallelism, speedup, and scalability to improve student motivation and learning.
Cognitive Computing is a new and quickly advancing technology. In the last decade Cognitive Computing has been used to assist researchers in their endeavors in many different scientific fields such as Health & med...
详细信息
Cognitive Computing is a new and quickly advancing technology. In the last decade Cognitive Computing has been used to assist researchers in their endeavors in many different scientific fields such as Health & medicine, Education, Marketing, Psychology and Financial Services. On the other hand, parallel programming is a more complex concept than sequential programming. The additional complexity of parallel programming is introduced by its nature that requires implementations of more complex algorithms and it introduces additional concepts to the developers, namely the communication between the processes (Distributed memory systems) that execute the parallel program and their synchronization (Share memory systems). As a result of this additional complexity, a lot of novice developers are reserved in their attempts to implement parallel programs. The objective of this research project was to investigate whether we can assist parallel programming process through cognitive computing solutions. In order to achieve our objective, the MPI Assistant, a Q&A system has been developed and a case study has been carried out to determine our application's efficiency in our attempt to assist parallel programming developers. The case study showed that our MPI Assistant system indeed helped developers reduce the time they spend to develop their solutions, but not improve the quality of the program or its efficiency as these improvements require features that are out of this research project's scope. However, the case study had limited number of participants, which may affect our results' reliability. As a next step in our attempt to determine if cognitive computing technologies are able to assist developers in their parallel programming development, we moved to investigate if cognitive solutions can extract better and more complete responses compared to our manually-created responses that we created for the MPI Assistant. We have experimented with 2 different approaches to the probl
The purpose of this paper is to design and implement a hybrid compiler that combines JOMP's directives with javar's annotations in order to obtain a more performing compiler. This is an original approach and c...
详细信息
ISBN:
(纸本)9781467357043
The purpose of this paper is to design and implement a hybrid compiler that combines JOMP's directives with javar's annotations in order to obtain a more performing compiler. This is an original approach and consists of pooling the advantages of those two compilers while fixing some of their issues. However the achievement of this aim is facing the issue of the difference of implementation of these two compilers because JOMP is implemented in Java while javar is implemented in C language. We propose to entirely reimplement javar in Java by using JavaCC. Thereafter, we present the implementation of the hybrid compiler. In the experiments, we propose to parallelize the matrix sort program by using this hybrid compiler. The results of experiments and the mathematical demonstration lead us to state that dealing with this hybrid compiler gives performances better or equal to the best one between javar and JOMP.
Efficient parallel programming has always been very tricky and only expert programmers are able to take the most of the computing power of modern computers. Such a situation is an obstacle to the development of the hi...
详细信息
Efficient parallel programming has always been very tricky and only expert programmers are able to take the most of the computing power of modern computers. Such a situation is an obstacle to the development of the high performance computing in other sciences as well as in the industry. The fast changes in the computer architecture (multicores, manycores, GPU, clusters, ...) make even more difficult, even for an experienced programmer, to remain at the forefront of these evolutions. On the other hand, a huge amount of work has been done to develop programming languages or libraries that tend to help the programmers to write parallel programs which are more or less efficient. The key point in this kind of research is to find a good balance between the simplicity of the programming and the efficiency of the resulting programs. Many approaches have been proposed but none really prevail over the others. This paper is a small overview of some directions that seem promising to both simplify parallel programming and produce very efficient programs.
The first Spanish parallel programming Contest was organized in September 2011 within the Spanish Jornadas de Paralelismo. The aim of the contest is to disseminate parallelism among Computer Science students. The webs...
详细信息
The first Spanish parallel programming Contest was organized in September 2011 within the Spanish Jornadas de Paralelismo. The aim of the contest is to disseminate parallelism among Computer Science students. The website and the material generated can be used for educational purposes. This paper comments on the organization of the contest and summarizes some training activities in which the material of the contest is being or can be used.
暂无评论