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/20 19:00] zpsetc: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)).+  Векторизация программы -- Поиск фрагментов программы, которые можно обработать при помощи векторных команд((Пакет расширений SSE, SSE2, SSE3, SSSE3)).
  
 ===== Документация gcc ===== ===== Документация gcc =====
Line 19: Line 22:
 ==== Мысли по поводу ==== ==== Мысли по поводу ====
   * не векторизуется взятие следа матрицы из CLib. говорит, unhandled data-ref. можно разбираться с детектором зависимостей по данным или добавить прагму указывающую, что зависимости нет;   * не векторизуется взятие следа матрицы из 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