📜 ⬆️ ⬇️

Development of multi-threaded applications, HPC and interface design

In the fourth series of the second season of “ 5 weeks with Intel ”, we are moving smoothly from HPC to developing multi-threaded applications - including for HPC. The guests of our program today are two Nizhny Novgorod who are engaged in the development of the Intel Parallel Studio package: Vladimir Tsymbal , already familiar to you last season , engaged in supporting users of the Intel Parallel Studio, and Anatoly Lyubomirov , developing interfaces for these tools.

image

As this series continues the story about Parallel Studio, launched a year ago, we strongly recommend that you refresh the first talk about Parallel Studio . This series focuses on a completely new parallel development product called Intel Parallel Studio XE .

First conversation - technical, with Vladimir Tsymbal


image
')
Tell me more about XE?

Despite the small console, Parallel Studio XE is not just a new version, but a new product. I am sure it will be a bomb! From an engineering point of view, this is a global extension of the concept of Parallel Studio: we covered not only the Microsoft Windows field, but also came to Linux, so it will be a cross-platform product. In addition, we have entered Microsoft a bit and will support .NET applications written in C #. This is what was expected of us for a very long time; The main complaint about Parallel Studio was that the product was too simple and covered only applications written in C ++ for Windows. Well, we responded to the wishes of users and significantly expanded the scope of Parallel Studio.

Who may need cross-platform?

On the one hand, we do not combine two platforms for a single developer, since Parallel Studio XE is still not a cross-platform development tool. Rather, we offer developers the choice of working on Linux or Windows, including .NET. On the other hand, if a cross-platform product is being developed for Linux and Windows, then the advantages of using the new version of XE are obvious. In addition, XE embodies an impressive list of new features that were not and will not be in the regular version of Parallel Studio.

What is the target audience for PS XE?

All developers who write client-server applications and HPC-applications. We are not capturing applications for embedded systems (for example, for our own Intel Atom), but this is a matter for the future. And so - a large slice of applications that are developed in C, C ++, C # and FORTRAN.

image

Some people involved in HPC prefer to write parallel code carefully and don’t touch Parallel Studio.

Indeed, before the release of the new version of XE, which we are talking about, the Parallel Studio package was not used in HPC applications, since the vast majority of them are written for UNIX / Linux systems. And so - I will dare to assert that it is almost impossible to accurately write a parallel application, even being very neat. There are companies that have vast experience in developing applications and large commercial projects that have existed for many years. We were in such companies and urged them to use our tools; in many cases, even a trial launch of Parallel Studio literally opened the eyes of the developers: it turned out that the application works in such a bizarre way that the developers themselves did not even suspect. The tool helps to make a new slice of the parallel application, even though the developers are confident that they know exactly how their code works. A unique feature of Parallel Studio is simplicity and intuitive clarity; no need to take special courses or receive some sacred knowledge about how to use PS. Our engineers did everything, or almost everything possible, to master the package was no more difficult than Microsoft Visual Studio, into which PS is integrated.

Is the XE version already available?

Yes, but only as part of a beta program. Like the regular version, the package consists of several separate projects, but already with XE prefixes: Composer XE (C ++ compiler and Fortran, as well as the MKL, IPP, TBB libraries), Inspector XE (Thread Checker and Memory Checker) - they are all available in open beta program, so you can register and try XE yourself. There is another product called VTune Amplifier XE, this is a continuation of our old VTune product, and here it is available only to those users who already own our tools.

When is the release?

We are not talking about dates, but we hope that the release will be this year.

Of course, I will be happy to answer all the technical questions of Habr's readers regarding the development of parallel applications and Intel Parallel Studio of all versions.

The second conversation is creative, with Anatoly Lyubomirov


You already know Vladimir, but Anatoly should be introduced. Here is how he tells about himself:

image

“Radiophysics by education, Department of Electrodynamics. I had to deal with plasma weapons, but it didn’t happen - it turns out that I had already saved the world by not inventing a plasma gun. I've been at Intel since 2002; started by someone like a programmer-tester - there is such an occupation, called product validation. The closest analogue is the Soviet Quality Control System (Technical Control Department), when you look at the finished product (for example, a TV set), and you put the Quality Control Stamp on it, or you do not install it. Over time, this seemed to me a little, and for the last four years I have been doing what I have always dreamed of doing - developing user interfaces and usability, in particular, I am designing an interface for Parallel Studio XE. I like to draw, listen to people and don’t rush to draw conclusions, because usability is more than half psychology. ”

How did it happen that you are involved in Intel usability?

It must be said that even taking into account the huge number of excellent programmers at Intel, at some point the management decided that it was necessary to pay attention to such things as usability, user-centered design, to put the use model of a specific product at the forefront. . At that moment, when this topic was raised once again, I expressed a desire to do all this - and I did.

You are engaged in the interface of the new product XE. How is work being built?

There is no innovation - we are trying to define a user, formulate our target audience, make a short portrait of our user. Together with marketers we describe what our product should do, what tasks it should answer.

image
An example of brainstorming recorded in a graphic editor.

On the basis of these introductory studies, competitive products start; For each of the goals of the product, what is called a flow is written (one of the possible ways of user-product interaction is note of the author).

image

image
Sometimes to discuss the logic of the behavior of the application, I use about such schemes.

All these stages are fairly document-intensive, although, of course, we do without paper and use electronic document flow. Then a paper prototype is created, a freehand sketch is drawn - true, in my case it is PowerPoint with separate application screens:

image

Usually a sequence of screens is built along a specific workflow:

image

With them I try to test the ground with all the participants of the product development - whether they like the proposed interface model, or not, whether they agree with the chosen direction, or not quite.

In the middle of the development process are drawn separate elements:

image

This ends with a thick specification of 80–120 pages:

image

The specifications use pictures of a different level of detail, with explanations and so on:

image

image

Then my design is tested by two guys from Oregon (they are not in the photo):

image

Do you use any prototyping tools like Axure RP or Fireworks?

I used the Captivate tool several times, it allows you to enter a minimal interactive into prototypes. The results are good, but rather laborious. In daily work, I communicate with about a hundred programmers; it is perfectly beautiful, but not enough hands to do anything. In addition, I think that Intel is now at the wrong stage to throw more substantial resources at usability - after all, we are creating professional tools, the use of which in any case needs to be learned. Our tools (compiler, profiler, or checker) for professional programmers.

Pro resources that Intel allocates to usability, controversial thesis. I am regularly interested in Intel bosses about what they think about the upcoming shift in the interface paradigm. Before our eyes, there is an example of the Apple company, which largely relies on the interface, and in general, it does not lose.

Ha, at lunch my colleagues constantly tease me about Apple. But seriously, we see where to strive, and I try to look towards a better interface design. In addition, I remind you that Apple makes products for the mass user, and the Nizhny Novgorod office of Intel, where I work, deals with world-class software products focused on the professional user, and these are two different worlds and, of course, two completely different approaches to interface design.

Idols in the field of usability?

I have Alan Cooper on my bookshelf, and the rest of the books are on drawing. I like to draw.

What would you be interested to talk with the participants of Habrahabr?


You know, I am extremely pleased to be on Habrahabr. Colleagues often send links to materials from here, and I myself also drop in, so I respect and kind of trembling inside I feel about the opportunity offered to me to participate in this project in Habrahabr. In no case I have no desire to be measured by the amount of knowledge with those Habr participants who have long been engaged in the development of interfaces; rather, I would like to share my experience with other interface developers and with those who are familiar with this topic.

+ The winner last week, dedicated to the story of HPC , became the user VenomBlood , with which we congratulate him.
Do not hesitate to join the ranks of Intel's readers on Habré.

Thank you for your attention, to be continued. Successes!

Source: https://habr.com/ru/post/98607/


All Articles