[null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/jc/nd/cc/jcndccahc944f3iihffugn_bjsc.png", "src": "https://habrastorage.org/webt/jc/nd/cc/jcndccahc944f3iihffugn_bjsc.png", "formatted_filename": "jcndccahc f iihffugn bjsc", "alt_text": "We calculate \"magic squares\" with the help of GPU"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/ty/1c/gm/ty1cgmvqp5rt915vpx9whsdr5gw.jpeg", "src": "https://habrastorage.org/webt/ty/1c/gm/ty1cgmvqp5rt915vpx9whsdr5gw.jpeg", "formatted_filename": "ty cgmvqp rt vpx whsdr gw", "alt_text": "Fast resize of jeeps on the video card"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/d2/wo/xw/d2woxw94fdzsysmnbw2ippieyas.jpeg", "src": "https://habrastorage.org/webt/d2/wo/xw/d2woxw94fdzsysmnbw2ippieyas.jpeg", "formatted_filename": "d woxw fdzsysmnbw ippieyas", "alt_text": "Parallelizing tasks with dependencies is an example in .NET"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/gy/by/ap/gybyapu3aq0vwkexog0bv4tmz2a.jpeg", "src": "https://habrastorage.org/webt/gy/by/ap/gybyapu3aq0vwkexog0bv4tmz2a.jpeg", "formatted_filename": "gybyapu aq vwkexog bv tmz a", "alt_text": "What is Korutin in Kotlin?"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/s-/qu/z3/s-quz3mfxbvvem_1lbkc0qu6voa.jpeg", "src": "https://habrastorage.org/webt/s-/qu/z3/s-quz3mfxbvvem_1lbkc0qu6voa.jpeg", "formatted_filename": "s quz mfxbvvem lbkc qu voa", "alt_text": "From ??? TFlops HPL to ASC'18 Application Innovation"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/getpro/habr/post_images/476/433/d4e/476433d4e5a9ba7dcd840a7fe5eb3d87.png", "src": "https://habrastorage.org/getpro/habr/post_images/476/433/d4e/476433d4e5a9ba7dcd840a7fe5eb3d87.png", "formatted_filename": "d e a ba dcd a fe eb d", "alt_text": "Basics of working with fut\u00e9s"}, null, {"document_url": "https://habrahabr.info/development/parallel-programming/", "unformatted_src": "https://habrastorage.org/webt/0y/a5/cb/0ya5cbi1psai9jbzlfxhlhnzx4w.jpeg", "src": "https://habrastorage.org/webt/0y/a5/cb/0ya5cbi1psai9jbzlfxhlhnzx4w.jpeg", "formatted_filename": "ya cbi psai jbzlfxhlhnzx w", "alt_text": "Creating a bot to participate in the AI \u200b\u200bmini cup. experience using GPU"}, null]


We calculate "magic squares" with the help of GPU

29/09/2018 23:31
Hello habr.

The theme of "magic squares" is quite interesting, because on the one hand, they are known since antiquity, on the other hand, the calculation of the "magic square" even today is a very difficult computational problem. Recall that in order to construct the "magic square" NxN, it is necessary to write the numbers 1N * N so that the sum of its contours, verticals and diagonals is equal to the same number. If you just sort through the number of all the options for placing the digits for a 4x4 square, you get 16! = ??? ??? options.

We will think about how this can be done more effectively. Programming / Parallel Programming / Abnormal programming / Mathematics

Fast resize of jeeps on the video card 

Synchronicity is the myth of

17/09/2018 17:10
Hello everybody!

Today you are waiting for a long text without pictures (slightly reduced and compared with the original), where the thesis, taken out in the headline, is analyzed in detail. Microsoft Veteran Terry Crowley explains the essence of asynchronous programming and explains why this approach is much more realistic and more expedient than synchronous and sequential.

Those who want or are thinking about writing a book that deals with such topics - write in a personal.

often used ...
Parallel Programming / Graphical shells / C# / .NET

Parallelizing tasks with dependencies is an example in .NET

09/09/2018 13:17
Hello colleagues!

This week we have transferred into the translation an ambitious in its complexity book " .Concurrency in .NET " Publisher Manning: The author kindly posted on the site Medium an excerpt from the 13th chapter, which we propose to evaluate long before the premiere.

Enjoy reading!

Let's say you need to write a tool that allows you to perform a number of asynchronous tasks, each of which has its own set of dependencies that affect the order of operations. Such problems can be solved through consistent and imperative implementation, but if you want to achieve maximum performance...
Professional literature / Parallel Programming / C# / .NET

What is Korutin in Kotlin?

28/08/2018 23:13 - This is an excellent functionality, available in the language of Kotlin. I already tried it and I really liked it.

The purpose of this article is to help you understand Korutin. Just be careful when reading and you will succeed.

Let's start with the official definition of Korutin.

Korutin is a new way of writing asynchronous, non-blocking code.
The first question arising when reading this definition is than
are different from threads?

- these are lightened flows. A lightweight stream means that it is not tied to the native stream, so it does not require context switching ...
Programming / Parallel Programming / Kotlin

[Перевод]When to use parallel streams

21/08/2018 13:38
Source: http://gee.cs.oswego.edu/dl/html/StreamParallelGuidance.html

Authors: Doug Lea together with Brian Goetz, Paul Sandoz, Alexey Shipilov, Heinz Kabutz, Joe Bowbeer,
The framework java.util.streams contains data-driven (data-driven) operations on collections and other data sources. Most streaming methods perform the same operation on each of the elements. Using the collection method parallelStream () , in the presence of several nuclei, data-driven can be turned into data-parallel . But when is it worth doing? ...
Parallel Programming / JavaScript

From ??? TFlops HPL to ASC'18 Application Innovation 

Basics of working with futés

31/07/2018 05:38 Futex (futex - short for Fast Userspace mutex) is a mechanism proposed by Linux developers from IBM in 2002 and included in the kernel at the end of 2003. The main idea was to provide a more efficient way to synchronize user threads with a minimal number of calls to the OS kernel.

In this article, we will review the futures, try to understand the principles of their operation, and also use them as bricks to build higher-level (and familiar) synchronization objects.

An important point: futexes are a fairly low-level tool, it's worth using it directly when developing fundamental libraries...
System Programming / Development under Linux / Parallel Programming

Creating a bot to participate in the AI ​​mini cup. experience using GPU

21/07/2018 13:19 continuation article1 and article 2 .

Below, I will talk about the author's experience in using the GPU for calculations, including the creation of a bot to participate in the AI ​​mini cup. But rather it is essay on the GPU theme.

-The name is magical

-You know what, Joel? The magic goes

parallel computing.


