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
etc:common_activities:gcc_vectorization [2007/12/14 00:51] jcmvbkbcetc:common_activities:gcc_vectorization [2008/09/01 01:11] (current) zps
Line 1: Line 1:
 ====== Векторизация в gcc ====== ====== Векторизация в gcc ======
 +
 +
 +<note important> Under construction</note>
 +
 +
 +[[.:gcc_vectorization:gaps_stores |  Vectorization of accesses with gaps]]
 +
 +===== Определения ======
 +  * Вектор данных -- упорядоченный набор данных в памяти, находящихся на равных расстояниях
 +  * Векторизация программы -- Поиск фрагментов программы, которые можно обработать при помощи векторных команд((Пакет расширений SSE, SSE2, SSE3, SSSE3)).
  
 ===== Документация gcc ===== ===== Документация gcc =====
Line 10: Line 20:
  
 ===== План, первая стадия ===== ===== План, первая стадия =====
-  * посмотреть, что мы можем сделать из того, в чем нуждается проект +  * составить список того, что мы можем сделать из того, в чем нуждается проект 
-  * посмотреть, что своего полезного мы можем предложить (проверить, что этого еще нет, оно возможно и имеет смысл)+  * составить список того, что своего полезного мы можем предложить (проверить, что этого еще нет, оно возможно и имеет смысл) 
 + 
 +==== Мысли по поводу ==== 
 +  * не векторизуется взятие следа матрицы из 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.1197582693.txt.gz · Last modified: 2008/01/03 02:32 (external edit)