Что за чушь ваша дискуссия. Оптимальная сложность умножения матриц O (N^2.8).Запрограммировать вычисление с такой эффективность непросто, поэтому хаскелист решил задачу простым, но не оптимальным способом. В отличие от этого, применяя C++ или другой подходящит язык, программировать умножение матриц не нужно, поскольку оно уже Запрограммировать в составе математических библиотек, которые кстати решают и существенно более сложные задачи.
Так что нелепый тест лишен смысла.
Не буду углубляться в подробности, но в языках, пригодных для математических вычислений также доступно их ускорение за счет GPU и/или распараллеливания работы между процессорами или в кластере.
Ускорение работы за счет распараллеливания вычислений - тема, которая называется «высокопроизводительными вычислениями». Была идея применить для них Haskell, так как в чисто функциональном языке программирования программу относительно легко разделить на параллельно выполняемые подпрограммы. Но идея была непрактичная - Haskell на порядок медленнее C/C++ (по утверждениям тех, кто изучал вопрос). Так что хоть Haskell и упоминается в литературе по «высокопроизводительными вычислениям» (HPC - high performance computing), но реально не применяется.
Чушь - это твои потуги. Во-первых тебя поимела пропаганда, которая сносит темы и делает так, что-бы ты жрал говно и ничего не понимал.
Во-вторых, никакого умножения матриц там нет. Там есть ленивое умножение матриц. И задача именно на реализацию ленивых последовательностей и операций на их базе.
Запрограммировать вычисление с такой эффективность непросто, поэтому хаскелист решил задачу простым, но не оптимальным способом.
Опять какие-то потоки бреда. Хаскелист и хаскель пожрал говна.
Так что нелепый тест лишен смысла.
Нелепые твои потуги, жертва пропаганды. Если ты не осилил то, что написано в С++-варианта, а так же тебя поимели тутошник клоуны-вахтёре - это твоя проблема. Вначале осиль, а после кукарекай.
Не буду углубляться в подробности, но в языках, пригодных для математических вычислений также доступно их ускорение за счет GPU и/или распараллеливания работы между процессорами или в кластере.
Опять потоки бреда. Зачем ты высрал гпу? Причём тут параллелизм - почему вы все пишите одну и ту же херню. Ты хоть запараллелься - это лишь коэффициент к базе. Если твоё говно a < b, то на какой N их не умножай - это ничего не изменит.
К тому же, тут ты фундаментально сел в лужу. Ведь именно С++-вариант параллелится линейно - просто суй код в разные потоки - получай профит. И представляешь - там вычисления каждого элемента результирующей матрицы происходит отдельно.
Ускорение работы за счет распараллеливания вычислений - тема, которая называется «высокопроизводительными вычислениями».
Это полная херня нелепая. Я уже писал выше об этом.
Была идея применить для них Haskell, так как в чисто функциональном языке программирования программу относительно легко разделить на параллельно выполняемые подпрограммы.
Это так же херня. Параллелизм в фп-говне в принципе невозможен. Именно поэтому ни в одном фп-недоязычке его нету. А эта методичка, которая ты транслируешь - лишь мусорная фп-пропаганда.
Но идея была непрактичная - Haskell на порядок медленнее C/C++ (по утверждениям тех, кто изучал вопрос).
Адепты утверждаю иное. Так же адепты утверждали иное и в контексте троек продолжением которых эта тема является.
относительно легко разделить на параллельно выполняемые подпрограммы Но идея была непрактичная - Haskell на порядок медленнее C/C++ (по утверждениям тех, кто изучал вопрос).
А разве дело не в том, что в GPU как раз нет выполняемых Тюринг-полных подпрограмм и потому Хаскелль с его сборщиком мусора на GPU натянуть вообще невозможно?