Home |
Search |
Today's Posts |
#1
![]() |
|||
|
|||
![]()
Hi,
This message is concerned with - ******************************************** 'Abstraction of the MPI programming model for people who are not so interested in going into the details... but are more interested in transforming a conceptual model to a runnable MPI program, without ever writing it in MPI". ******************************************** I am doing a project on developing a library for writing parallel programs over an MPI implementation. As far as I know, most of the research conducted in this area aim towards development of systems, which are more of academic interest, than the applicability to real parallel programming. Hence, I got interested in designing a library support for writing programs which has a simple API, requiring a resonable learning curve compared to lower-level MPI programming. For my aim to be successful, I would be very happy to get your suggestions on what is being expected from a system like this. I will be delighted to get answers on: [1] What level of abstraction is necessary - Full implementation transparancy or...? [2] Would you be interested into going deep on the performance tuning side of the program, or you will be satisfied with a resonable performance tuned API? [3] Would you be interested into handling the utilisation of computing resources at the lower level? [4] What kind of interface would you expect? - Something which automatically generates the required structures for you, or something which you hard-code? - Would you prefer a function interface with long parameter list, or a structure which encapsulate the details, reducing the number of arguments which need to be passed to the function? E.g. type function (arg1, arg2, arg3, arg4, arg5, ..., argp) or, type function (arg_topology, arg_input, arg_output, arg_work, ...) where, arg_topology = arg1, arg2, ... arg_input = arg... etc. I mean, reducing the number of arguments... [5] What level of programming effort would you like to invest? [6] Would you be interested in learning a new programming language for some new features, or would you prefer an enhancement to an existing programming system which you know? [7] What level of documentation would you prefer for the system. E.g. internal implementation details, or just user manual...? [8] What kind of examples would you prefer for learning the system? Complex, domain specific examples... or simple examples which explain the main concepts, or a mixture of both... E.g. would you prefer learning the system with Mandelbrot's Set or with something like 'Hello World'? [9] Would you be interested in a GUI based development environment? [10] What all tools or utilities would you expect in such a system? I have made the assumption that the reader have some idea on programming with a programming language, and I apologise for the same. This may not be true, but I wanted a *real start* with your suggestions on how it can be rendered useful. Your suggestions will be highly valuable because my aim is to provide something which is completely based on the non-computing programmers in other field. Thanks in advance, and I hope to receive at least some useful guidelines on realising my project. Thanks for reading this message. Regards, Greg |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
PBS/ National Geographic Programming Note: | Plant Science | |||
programming | Plant Science | |||
Parallel lines in agriculture do meet? | sci.agriculture | |||
Parallel lines in agriculture do meet? | sci.agriculture |