Загрузка…





  • Сообщения   Поиск
  • yuryserdyuk18.09.2009 00:08   
    MC# 2.2 для Windows и Linux

    Вышла версия системы параллельного программирования MC# 2.2 для Windows и Linux,
    включая Linux-кластеры. Версия для Linux базируется на системе Mono -
    реализации .NET для Uniх-подобных систем.

    Замечания, предложения и комментарии приветствуются ...

    IT-spec19.10.2009 11:34
    Рейтинг
     
    Re: MC# 2.2 для Windows и Linux

    Цитирую -yuryserdyuk
    Вышла версия системы параллельного программирования MC# 2.2 для Windows и Linux,
    включая Linux-кластеры. Версия для Linux базируется на системе Mono -
    реализации .NET для Uniх-подобных систем.

    Замечания, предложения и комментарии приветствуются ...
    На сколько актуально использовать данную систему программирвания, ведь есть MPI, OpenMP, TBB и т.д. Какую практическую выгоду можно извлечь из данной системы? На сайте разработчиков http://www.mcsharp.net/ по моему мнению нет достаточной информации.


    yuryserdyuk03.11.2009 03:35
    Рейтинг
     
    Re: MC# 2.2 для Windows и Linux

    Цитирую -IT-spec
    На сколько актуально использовать данную систему программирвания, ведь есть MPI, OpenMP, TBB и т.д. Какую практическую выгоду можно извлечь из данной системы? На сайте разработчиков http://www.mcsharp.net/ по моему мнению нет достаточной информации.

    Да, Вы правы - пока что на нашем сайте нет сравнительных характеристик MC# с OpenMP, MPI, TBB и др. Однако, об этом и о практической выгоде использования MC# частично сказано в посте "Многоядерность:1,2,3 ... Larrabee, или Как нам всё это программировать?"(software.intel.com/ru-ru/blogs/2008/12/12/123-larrabee/).

    На вопрос насчет актуальности использования MC# при наличии массы других средств можно кратко ответить контрвопросом - зачем компания Интел купила компанию Cilk Arts (www.cilk.com/) с ее языком Cilk ?
    (Кстати, на их странице www.cilk.com/multicore-blog/ можно найти сравнения Cilk с OpenMP, MPI, TBB и др., которые во многом актуальны и для MC#).

    Если коротко, то главное достоинство MC# заключается в его простоте - как используемой в нем модели параллельных вычислений (об этом скоро будет отдельная запись в блоге), так и в конструкциях, которые эту модель поддерживают. Этот набор конструкций, расширяющих C#, состоит из
              - async- и movable-методов,
              - каналов,
              - обработчиков и
              - связок.
    Таким образом, изучить MC# и начать на нем реально программировать можно в течение 1 дня.

    И сравните теперь расширения, реализованные в MC#, с (неполным перечислением) переменных и директив, которые необходимо изучить для использования OpenMP 3.0:

    • Internal Control Variables (ICVs)
      • dyn-var
      • nest-var
      • nthreads-var
      • thread-limit-var
      • max-active-levels-var
      • run-sched-var
      • def-sched-var
      • stacksize-var
      • wait-policy-var
    • Constructs and clauses
      • parallel construct
      • num_threads clause
      • schedule clause
      • Loop construct
    • Interface routines
      • omp_set_num_threads
      • omp_get_max_threads
      • omp_set_dynamic
      • omp_get_dynamic
      • omp_set_nested
      • omp_get_nested
      • omp_set_schedule
      • omp_get_schedule
      • omp_get_thread_limit
      • omp_set_max_active_levels
      • omp_get_max_active_levels
    • Environment variables
      • OMP_SCHEDULE
      • OMP_NUM_THREADS
      • OMP_DYNAMIC
      • OMP_NESTED
      • OMP_STACKSIZE
      • OMP_WAIT_POLICY
      • OMP_MAX_ACTIVE_LEVELS
      • OMP_THREAD_LIMIT
    В свою очередь, например, параллельная конструкция OpenMP имеет следующую спецификацию:

    #pragma omp parallel [clause[ [, ]clause] ...] new-line

    where clause is one of the following:

    • structured-block
    • if(scalar-expression)
    • num_threads(integer-expression)
    • default(shared | none)
    • private(list)
    • firstprivate(list)
    • shared(list)
    • copyin(list)
    • reduction(operator: list)

          Аналогичную ситуацию имеем и для библиотеки MPI (насчитывающей более 200 функций), а также TBB и Parallel Extensions for .NET.

    Кроме того, OpenMP, MPI и TBB ориентированы на C++ (и Фортран), тогда как MC# базируется на C#,
    позволяя использовать богатые библиотеки для .NET.

    Также, Cilk, TBB и OpenMP предназначены только для многоядерного программирования
    (о реальном использовании Cluster OpenMP я пока что мало слышал), тогда как MC# хорошо работает и на Линукс-кластерах. Например, на кластере МГУ Т-60 MC#-программы запускались на 525 узлах / 4200 ядрах.

    Наконец, уже имеется реализация MC# для процессора Cell (с использованием библиотеки CellDotNet), и изучаются возможности программирования на MC# графических процессоров с использованием библиотек OpenCL.NET и CUDA.NET.

    ialexander03.11.2009 05:04
    Рейтинг
     
    Re: MC# 2.2 для Windows и Linux

    Интересно, есть ли кластеры споддержкой MC#? В конце концов именно установленное ПО на кластере определяет, что использовать.


    ialexander03.11.2009 07:20
    Рейтинг
     
    Re: MC# 2.2 для Windows и Linux

    Упс, я так долго собирался задать вопрос, что ответ оказывается уже прозвучал. Прошу прощения.


    yuryserdyuk04.11.2009 05:19
    Рейтинг
     
    Re: MC# 2.2 для Windows и Linux

    Цитирую -ialexander
    Интересно, есть ли кластеры споддержкой MC#? 
    В настоящее время, чтобы использовать MC# на кластере, достаточно иметь на нем Linux.
    Тогда можно установить себе в домашнюю директорию Mono (.NET) и сам MC#
    (если админы не сделали это централизовано).

    Касательно запуска  MC#-программ через системы очередей, то на кластере МГУ система очередей Cleo поддерживает MC# (ключ -as mcs).
    Для остальных систем очередей, которые, например, используются на кластере в MVS100k в МСЦ РАН,
    необходимо применять собственные скрипты (примеры их даны в документации к MC#).

Быстрый переход:  

Статистика форумов Intel Software Network

424 пользователей 501 тем и 5,400 сообщений.

За последние 24 часа появилось 0 новых тем 1 новых сообщений и 1 новых пользователей.

Самая популярная тема за последние 3 дня Конкурс футболок для участников ISN 2012 Больше всего ответов отправлено на сообщение Вот пример распо Наибольшее количество просмотров у сообщения Конкурс футболок для участников ISN 2012

Приветствуем нового пользователя fruitbrown


Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.