2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: вопрос по си
Сообщение27.11.2017, 16:45 
Заслуженный участник


20/08/14
11183
Россия, Москва
realeugene
Я в курсе об ограничениях человека и когда именно это "не факт". Но здесь не место это обсуждать.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение27.11.2017, 17:47 


04/10/17

153
realeugene в сообщении #1269604 писал(а):
Dmitriy40 в сообщении #1269600 писал(а):
а для заранее известных человек соптимизирует лучше (на ассемблере).
Давно уже не факт.

Почему же: например, в Intel MKL весь BLAS Level 3 реализован на ассемблере.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение27.11.2017, 19:48 
Заслуженный участник


02/08/11
6894
as73251 в сообщении #1269641 писал(а):
в Intel MKL весь BLAS Level 3 реализован на ассемблере
Это очень специальная задача.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение27.11.2017, 21:56 
Заслуженный участник


27/04/09
28128

(Java)

Dmitriy40
А, это известно. Меня сбило с толку «интерпретируемая». :-) Начинала-то она действительно интерпретируемой когда-то давно…

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 01:19 


04/10/17

153
warlock66613 в сообщении #1269692 писал(а):
as73251 в сообщении #1269641 писал(а):
в Intel MKL весь BLAS Level 3 реализован на ассемблере
Это очень специальная задача.

Перемножение матриц - специальная задача? Однако.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 03:32 
Заслуженный участник


20/08/14
11183
Россия, Москва
as73251 в сообщении #1269771 писал(а):
Перемножение матриц - специальная задача? Однако.
Как ни удивительно - да. Несмотря на широкое применение матричных операций. Мне вот к примеру вообще ещё ни разу не потребовалось перемножение матриц. Тем более вещественных. У меня вообще 99% программ работают исключительно с целыми числами. Не все занимают математической физикой.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 08:36 


04/10/17

153
Dmitriy40 в сообщении #1269777 писал(а):
as73251 в сообщении #1269771 писал(а):
Перемножение матриц - специальная задача? Однако.
Как ни удивительно - да.

:shock:
Без перемножения матриц не обходится практически ни один быстрый алгоритм линейной алгебры: возьмите библиотеку Lapack и воспользуйтесь поиском dgemm: Вы найдете более 100 фортрановских файла, где dgemm используется. А Intel MKL по большому счету - это быстрый вариант Lapack. На моем 10-ядерном Core i9 функции из Intel MKL в десятки раз быстрей скомпилированных функций из Lapack.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 12:57 
Заслуженный участник


27/04/09
28128
Я один не понимаю, как специальность задачи связана с широтой её применения?

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 13:04 
Заслуженный участник
Аватара пользователя


16/07/14
8492
Цюрих
as73251 в сообщении #1269771 писал(а):
Перемножение матриц - специальная задача?
Она специальна тем, что ее можно сделать сильно лучше, чем наивным способом, при этом сделать сильно лучше сложно, а сделать лучшее решение для частного случая нельзя.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 13:04 
Заслуженный участник


02/08/11
6894
Dmitriy40 в сообщении #1269777 писал(а):
Несмотря на широкое применение матричных операций.
Скорее именно благодаря этому: не было бы широкого применения, не было бы и специальной поддержки со стороны процессора, а именно это и приводит к тому, что для задач именно такого рода можно написать руками эффективный ассемблерный код.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 13:49 


27/08/16
9426
warlock66613 в сообщении #1269858 писал(а):
не было бы и специальной поддержки со стороны процессора, а именно это и приводит к тому, что для задач именно такого рода можно написать руками эффективный ассемблерный код.
Именно это и приводит к тому, что компиляторы плохо оптимизируют такие инструкции.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 14:01 
Заслуженный участник


20/08/14
11183
Россия, Москва
realeugene в сообщении #1269884 писал(а):
Именно это и приводит к тому, что компиляторы плохо оптимизируют такие инструкции.
Один я вижу тут логическую неувязку? Что именно "это"? Аппаратная поддержка приводит к плохой оптимизации компиляторами? Или возможность ручной оптимизации приводит к плохой оптимизации компиляторами?

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 14:29 


27/08/16
9426
Dmitriy40 в сообщении #1269890 писал(а):
Что именно "это"?

Хитрые SIMD команды, добавленные в процессоры специально для эффективной реализации подобных алгоритмов, сложны для использования оптимизаторами компиляторов.

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 15:28 


04/10/17

153
mihaild в сообщении #1269857 писал(а):
as73251 в сообщении #1269771 писал(а):
Перемножение матриц - специальная задача?
Она специальна тем, что ее можно сделать сильно лучше, чем наивным способом, при этом сделать сильно лучше сложно, а сделать лучшее решение для частного случая нельзя.

Ничего не понял: разжевать поподробней нельзя?

 Профиль  
                  
 
 Re: вопрос по си
Сообщение28.11.2017, 15:37 
Заслуженный участник
Аватара пользователя


16/07/14
8492
Цюрих
as73251 в сообщении #1269913 писал(а):
Ничего не понял: разжевать поподробней нельзя?
Можете задать более конкретный вопрос? Потому что мне не приходит в голову, что тут можно ответить, кроме как еще раз повторить то же самое...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Dmitriy40


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group