POSSIBILITY OF USING ELEMENTS OF MATHEMATICAL LIBRARY FOR A PARALLEL LANGUAGE IN CONSTRUCTION MATRIX PROGRAMS

Author(s):  
D. S. Romanova ◽  
S. Yu. Smogluk

Today, due to problems in improving computing performance, parallel programming continues to evolve. There are many different languages in which you can write parallel programs. One of them is the functional-threading parallel programming language Pifagor, which in turn is very specific and allows you to write a program with maximum parallelism, as well as it is designed to solve the portability problem of parallel programs. Tools and a library of functions continue to be developed for this language. This study is devoted to the development of elements of the mathematical library and the search for the most effective mathematical parallel algorithms. The following methods are considered and used in the work: sequential, recursive (left and right recursion), factorization, and pairwise comparisons. As a result of the study, a number of mathematical functions were developed, and a study was made of the possibility of using these functions in the development of programs for multiplying large-dimensional matrices. The work demonstrates the effectiveness of using the developed simple functions implemented by different methods in matrix multiplication programs. The prospects of further work in this direction are noted, having in mind the analysis of the possibility of using artificial intelligence methods to increase efficiency and facilitate the development of parallel programs with large-sized matrices.

2015 ◽  
Vol 19 (5) ◽  
pp. 81-99
Author(s):  
M. S. Kropacheva ◽  
A. I. Legalov

The article is devoted to the methods of proving parallel programs correctness that are based on the axiomatic approach. Formal system for functional data-flow parallel programming language Pifagor is described. On the basis of this system programs correctness could be proved.


2020 ◽  
Vol 23 (4) ◽  
pp. 788-807
Author(s):  
Alexander Ivanovich Legalov ◽  
Igor Alexandrovich Legalov ◽  
Ivan Vasilievich Matkovsky

It is proposed to add a static system of types to the dataflow functional model of parallel computing and the dataflow functional parallel programming language developed on its basis. The use of static typing increases the possibility of transforming dataflow functional parallel programs into programs running on modern parallel computing systems. Language constructions are proposed. Their syntax and semantics are described. It is noted that the need to use the single assignment principle in the formation of data storages of a particular type. The features of instrumental support of the proposed approach are considered.


1994 ◽  
Vol 3 (1) ◽  
pp. 33-47 ◽  
Author(s):  
Gita Alaghband ◽  
Harry F. Jordan

The Force parallel programming language designed for large-scale shared-memory multiprocessors is presented. The language provides a number of parallel constructs as extensions to the ordinary Fortran language and is implemented as a two-level macro preprocessor to support portability across shared memory multiprocessors. The global parallelism model on which the Force is based provides a powerful parallel language. The parallel constructs, generic synchronization, and freedom from process management supported by the Force has resulted in structured parallel programs that are ported to the many multiprocessors on which the Force is implemented. Two new parallel constructs for looping and functional decomposition are discussed. Several programming examples to illustrate some parallel programming approaches using the Force are also presented.


2021 ◽  
Vol 28 (4) ◽  
pp. 394-412
Author(s):  
Andrew M. Mironov

The paper presents a new mathematical model of parallel programs, on the basis of which it is possible, in particular, to verify parallel programs presented on a certain subset of the parallel programming interface MPI. This model is based on the concepts of a sequential and distributed process. A parallel program is modeled as a distributed process in which sequential processes communicate by asynchronously sending and receiving messages over channels. The main advantage of the described model is the ability to simulate and verify parallel programs that generate an indefinite number of sequential processes. The proposed model is illustrated by the application of verification of the matrix multiplication MPI program.


Author(s):  
Koji Zaiki ◽  
Akiyoshi Wakatani ◽  
Tadashi Okamoto ◽  
Katsuyuki Kaneko ◽  
Tatsuo Nogi

2020 ◽  
Vol 30 (3) ◽  
pp. 28-33 ◽  
Author(s):  
S. A. Pryadko ◽  
A. Yu. Troshin ◽  
V. D. Kozlov ◽  
A. E. Ivanov

The article describes various options for speeding up calculations on computer systems. These features are closely related to the architecture of these complexes. The objective of this paper is to provide necessary information when selecting the capability for the speeding process of solving the computation problem. The main features implemented using the following models are described: programming in systems with shared memory, programming in systems with distributed memory, and programming on graphics accelerators (video cards). The basic concept, principles, advantages, and disadvantages of each of the considered programming models are described. All standards for writing programs described in the article can be used both on Linux and Windows operating systems. The required libraries are available and compatible with the C/C++ programming language. The article concludes with recommendations on the use of a particular technology, depending on the type of task to be solved.


Repositor ◽  
2019 ◽  
Vol 1 (1) ◽  
pp. 47
Author(s):  
Nina Mauliana Noor Fajriah ◽  
Yufis Azhar ◽  
Gita Indah Marthasari

Expert system is one of the AI Development fields. AI (Artificial Intelligence) is part of a computer science which used the computer to imitate the human thoughts and behavior. The usage of a method in Expert System is very important. Thus, the most compatible method to use is the Certainty Factor method. This method is suitable to be used on Expert System to measure things and diagnosed it, will it be very sure or unsure. For example, Expert System to diagnose disease on strawberry plants. This software allows the user to diagnose the disease on strawberry plants before taking a further action. This software is using PHP programming language and store the data using MySQL system database. When the user consulting to the software, the software will show the symptoms of the disease and the user can choose the level of certainty from the chosen disease symptom. The final result from the software is a form which includes the guide of how to take the measurement of the disease based on the chosen symptoms.


2021 ◽  
Vol 24 (1) ◽  
pp. 157-183
Author(s):  
Никита Андреевич Катаев

Automation of parallel programming is important at any stage of parallel program development. These stages include profiling of the original program, program transformation, which allows us to achieve higher performance after program parallelization, and, finally, construction and optimization of the parallel program. It is also important to choose a suitable parallel programming model to express parallelism available in a program. On the one hand, the parallel programming model should be capable to map the parallel program to a variety of existing hardware resources. On the other hand, it should simplify the development of the assistant tools and it should allow the user to explore the parallel program the assistant tools generate in a semi-automatic way. The SAPFOR (System FOR Automated Parallelization) system combines various approaches to automation of parallel programming. Moreover, it allows the user to guide the parallelization if necessary. SAPFOR produces parallel programs according to the high-level DVMH parallel programming model which simplify the development of efficient parallel programs for heterogeneous computing clusters. This paper focuses on the approach to semi-automatic parallel programming, which SAPFOR implements. We discuss the architecture of the system and present the interactive subsystem which is useful to guide the SAPFOR through program parallelization. We used the interactive subsystem to parallelize programs from the NAS Parallel Benchmarks in a semi-automatic way. Finally, we compare the performance of manually written parallel programs with programs the SAPFOR system builds.


2020 ◽  
Vol 8 ◽  
pp. 126-137
Author(s):  
Kieran Greer

One of the most fundamental questions in Biology or Artificial Intelligence is how the human brainperforms mathematical functions. How does a neural architecture that may organise itself mostly throughstatistics, know what to do? One possibility is to extract the problem to something more abstract. This becomesclear when thinking about how the brain handles large numbers, for example to the power of something, whensimply summing to an answer is not feasible. In this paper, the author suggests that the maths question can beanswered more easily if the problem is changed into one of symbol manipulation and not just number counting.If symbols can be compared and manipulated, maybe without understanding completely what they are, then themathematical operations become relative and some of them might even be rote learned. The proposed systemmay also be suggested as an alternative to the traditional computer binary system. Any of the actual maths stillbreaks down into binary operations, while a more symbolic level above that can manipulate the numbers andreduce the problem size, thus making the binary operations simpler. An interesting result of looking at this is thepossibility of a new fractal equation resulting from division, that can be used as a measure of good fit and wouldhelp the brain decide how to solve something through self-replacement and a comparison with this good fit.


Sign in / Sign up

Export Citation Format

Share Document