пятница, 17 июня 2011 г.

[prog] Презентация Герба Саттера Heterogeneous Parallelism at Microsoft

На конференции AMD Fusion Developer Summit – вот здесь PDF-ка на 39 страниц. А здесь видеозапись выступления.

PDF-ку просмотрел. Речь идет о чем-то под названием C++ Accelerated Massive Parallelism (C++ AMP).

Ничего не понял, нахожусь совершенно не в теме. Но добавление новых ключевых слов в какой-то из диалектов C++ (не важно, от Microsoft или еще от кого-то) – не есть хорошо.

3 комментария:

  1. Они действительно хотят сделать расширение языка... обещают в очередной студии из коробки.

    Расширение будет юзать всяческие мультикоры - CPU, GPU...
    Это и из презентации понятно.

    Типа интегрированная CUDA...

    ОтветитьУдалить
  2. Ну как раз с очевидными вещами все понятно. У меня сложилось впечатление, что ключевое слово restrict у них определяет контекст. В одном случае контекст указывает, где могут использоваться функции. В другом случае -- какие функции могут использоваться (т.е. уточнение при выборе перегруженной функции). Т.е. можно создать какой-нибудь map_reduce с restrict(many_core), а затем вызвать этот map_reduce из лямбды, которая помечена как restrict(many_core).

    Вот с array_view как-то менее понятно.

    Но, поскольку я далек от массивно-параллельных вычислений, то не понимаю главного -- насколько C++ AMP действительно будет выгоден в данной области. Например, по сравнению с OpenMP и MPI.

    ОтветитьУдалить
  3. Мне кажется этот restrict не страшен, что-то типа __declspec(dllexport) что вряд ли может поломать совместимость с чем либо, тем более в новых лямбдах.

    ОтветитьУдалить