📜 ⬆️ ⬇️

Speed ​​up your code and find a needle in a haystack


Every day thousands of satellites, airplanes, surveillance cameras take millions of high-resolution images. In order to get useful information from there, they need to be processed - and this task, even at first glance, does not seem easy. It is because of its complexity (as well as the large space for parallelization) that it became the content of the Intel Accelerate Your Code summer tour, which runs from May 1 to August 31 . This time there were some changes in the conditions of the competition, but the main prize remained the same - the winner will receive an ultrabook worth 1000 euros .

So, the condition of the problem is as follows: find predefined patterns (patterns) in a large array of high-resolution digital photos. It is absolutely clear that to solve this problem large computational powers will be needed, which not everyone has at hand. Anticipating this, Intel prepared for the participants powerful servers equipped with Xeon PHI coprocessors (I remind you - 60 cores, 240 threads!) That will be available to all participants in the competition - this is the first innovation. Immediately, I note the second: now not only students, but also professional developers can participate in the competition!

Samples can be given by their shape, color, shades, some other obvious distinctive feature, however, the situation is complicated by the fact that this feature can be distorted (imagine a picture printed on clothes), its appearance is affected by lighting, angle of view, distance before the object and other nuances. Your program should be able to take them into account. There are some loosening ups so that the complexity of the task does not go off-scale: all patterns are specific (that is, they cannot be, for example, a person’s face), the conditions for their appearance are always about the same.

In order to make it easier for participants to start the solution, Intel, as usual, offers a ready-made working code that in some way solves the problem and delivers the result in the correct format. The bad news is that this code is primitive, not parallelized, and works slowly. However, it fits well as a “seed”, and the organizers strongly recommend using it. Your task is to inject necessary functionality into the code, speed it up and parallelize it. Pay close attention to the features of a particular pattern, each of them requires an individual approach.
')
How will the winner be selected? Here are the most basic criteria:

Now about prizes for participants from Russia and Ukraine. As already mentioned, the winner, or rather, the two winners will receive an ultrabook. The next 10 places will receive Amazon gift cards for 100 euros, another 20 following ones - for 50 euros. Separate awards await student groups headed by a mentor.

And finally, an important note. Intel holds 3 stages of the Accelerate Your Code competition per year, each of which lasts 4 months. It turns out that the competition is ongoing, and it's never too late to take part in it. Do not miss your chance to get new skills - well, get prizes, of course.

useful links

Post on Habré about the previous stage of the competition
Main page of the contest
Task Description
Registration form
Terms of the competition
Proposed Source Code

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


All Articles