2014 dxdy logo

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

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




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


20/08/14
11867
Россия, Москва
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
7014
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
11867
Россия, Москва
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
9213
Цюрих
as73251 в сообщении #1269771 писал(а):
Перемножение матриц - специальная задача?
Она специальна тем, что ее можно сделать сильно лучше, чем наивным способом, при этом сделать сильно лучше сложно, а сделать лучшее решение для частного случая нельзя.

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


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

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


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

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


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

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


27/08/16
10455
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
9213
Цюрих
as73251 в сообщении #1269913 писал(а):
Ничего не понял: разжевать поподробней нельзя?
Можете задать более конкретный вопрос? Потому что мне не приходит в голову, что тут можно ответить, кроме как еще раз повторить то же самое...

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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