Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:gcc_vectorization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
etc:common_activities:gcc_vectorization [2007/12/14 00:41] jcmvbkbcetc:common_activities:gcc_vectorization [2008/09/01 01:04] zps
Line 1: Line 1:
 ====== Векторизация в gcc ====== ====== Векторизация в gcc ======
  
 +
 +<note important> Under construction</note>
 +
 +===== Определения ======
 +  * Вектор данных -- упорядоченный набор данных в памяти, находящихся на равных расстояниях
 +  * Векторизация программы -- Поиск фрагментов программы, которые можно обработать при помощи векторных команд((Пакет расширений SSE, SSE2, SSE3, SSSE3)).
 +
 +===== Документация gcc =====
   * http://gcc.gnu.org/projects/ -- проекты внутри gcc   * http://gcc.gnu.org/projects/ -- проекты внутри gcc
   * http://gcc.gnu.org/contribute.html -- правила для контрибьюторов   * http://gcc.gnu.org/contribute.html -- правила для контрибьюторов
Line 8: Line 16:
   * http://gcc.gnu.org/wiki/VectorizationTasks -- задачи проекта автовекторизации   * http://gcc.gnu.org/wiki/VectorizationTasks -- задачи проекта автовекторизации
  
 +===== План, первая стадия =====
 +  * составить список того, что мы можем сделать из того, в чем нуждается проект
 +  * составить список того, что своего полезного мы можем предложить (проверить, что этого еще нет, оно возможно и имеет смысл)
 +
 +==== Мысли по поводу ====
 +  * не векторизуется взятие следа матрицы из CLib. говорит, unhandled data-ref. можно разбираться с детектором зависимостей по данным или добавить прагму указывающую, что зависимости нет;
 +
 +===== План, вторая стадия ====
 +Разобраться с задачей "Model missing vec_extract_even/odd (needed for interleaving loads) for ia64. See details in PR30211." (http://gcc.gnu.org/wiki/VectorizationTasks)
 +
 +  * изучить предложенное решение для PPC;
 +    * [+] найти использованные инструкции PPC;
 +    * понять, как представляется предложенное [[.:gcc_vectorization:autovect_ppc | решение на ассемблере PPC]];
 +  * реализовать аналог для IA64
 +    * http://ski.sourceforge.net/ -- это эмулятор IA64
 +    * [[.:gcc_vectorization:toolchain_ia64 | toolchain для компиляции под ia64]];
 +
 +==== Ход разборок ====
 +  * исходники из CVS из ветки autovect-branch не векторизуют простых примеров; версии 4.1.2 и 4.2.1 это делают; варианты дальнейших действий:
 +    * работать с головой ствола;
 +    * работать со срезом ствола на дату публикации патча;
 +    * искать объяснения?
etc/common_activities/gcc_vectorization.txt · Last modified: 2008/09/01 01:11 by zps