I ші халықаралық ғылыми-тəжірибелік конференцияның ЕҢбектері


On  your  opinion  the  general  prblem  on  the  way  if  usage  of  ICT  in



Pdf көрінісі
бет15/48
Дата31.03.2017
өлшемі11,62 Mb.
#11006
1   ...   11   12   13   14   15   16   17   18   ...   48

On  your  opinion  the  general  prblem  on  the  way  if  usage  of  ICT  in 

education- are: 

 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

201



Lack of financing  

 

84  



Weak of technical bases  

55  


Quality of educational resources      

 

23  



Level of ICT competency of teachers  

 

115 



Teachers motivation  

 

108  



other 

 

15  



 Total amount of answers: 400 

Besides  of  the  common  internal  policy  of  university  it  should  be  in  agenda 

qualification of faculty members in ICT area in the field. 

 

What do you thik the most important to rise effectiveness of ICT usage  in 

schools: 

 

Improvement 



of 

technical 

support 

and 


admittance to Internet  

 

21 



Rising ofteachers’ qualification in ICT area 

 

26 



Information on available resources and services  

 

2  



Development of new methods of teaching  

 

8  



Rising of teachers motivation and stimulation   

 

22 



Total amount of answers: 79 

 

To solve these problems in our university it is supposed an indicative approach 



of  administration  in  development  of  new  educational  products  with  usage  of 

computer’s  programs.  Among  such  indicators  it  might  be  case  studies,  research 

projects based on real situations, data, etc. 

Here there are answers of our department professors which were getting during 

scientific-methodological seminar. 

A question «In what the basic problem on ways of wide introduction ICT to an 

education sphere» have answered: (it was possible to mark some variants) 

- A weak hardware – 15 (38,5 %) 

- Insufficient financing – 12 (30,7 %) 

- Quality of educational resources – 9 (23,1 %) 

- Level of ICT -COMPETENCE of teachers – 8 (20,5 %) 

- Absence of motivation at teachers – 6 (15,4 %) 

- Shortage of IT experts – 1 (2,6 %) 

On  the  relation  to  use  of  electronic  educational  resources  at  university 

following answers are received: 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

202



- Essentially raises quality of educational process – 30 (76,9 %) 

- It is useful, but does not give qualitatively new results – 13 (33,3 %) 

- Waste of forces and means – 2 (5,1 %) 

- Does not become mass (resources for enthusiasts) – 1 (2,6 %) 

- I have other relation – 1 (2,6 %) 

- Conveniently, I am useful also I expect growth ICT in the future – 1 (2,6 %) 

- Saves time – 1 (2,6 %) 

Concerning a question on how respondents raise the level in the field of ICT, 

thanks to: 

- To Internet resources – 30 (76,9 %) 

- To participation in seminars, trainings etc. – 6 (15,4 %) 

- To books, managements – 5 (12,8 %) 

- To dialogue with colleagues – 5 (12,8 %) 

- To the printing periodical press – 1 (2,6 %) 

And  that  respondents  consider  important  for  increase  of  efficiency  of  use  of 

ICT at university: 

- Improvement of professional skill of teachers in the field of ICT – 18 (46,2 %) 

- Improvement technical equipment and access to the Internet – 17 (43,6 %) 

- Increase of motivation and stimulation of teachers – 9 (23,1 %) 

- Working out of new techniques of teaching – 3 (7,7 %) 

- Informing on accessible resources and services – 2 (5,1 %)  

Thus, it is possible to notice that all presented at a seminar prove  the  fact that 

use  of  ICT  essentially  raises  quality  of  educational  process,  and  that  they  are 

necessary  for  introducing.  Basically,  respondents  raise  the  level  thanks  to  Internet 

resources. 

And as the most important thing for increase of efficiency of use of ICT at our 

university  consider  improvement  of  professional  skill  of  teachers  and  improvement 

technical  equipment  and  access  to  the  Internet.  But,  now  it  is  interfered  by  a  weak 

hardware and insufficient financing. 

 

 



НЕГРАФИЧЕСКИЕ ВЫЧИСЛЕНИЯ НА ГРАФИЧЕСКИХ 

ПРОЦЕССОРАХ 

 

Бокатюк О.Г. 

 

В  течение  долгих  лет  видеокарты  служили  только  для  прорисовки 



графики.  Они  использовались  в  таких  приложениях  как  компьютерные  игры, 

компьютерная  обработка  изображений,  монтаж  видео.  Однако  именно  за  счет 

высоких  потребностей,  предъявляемыми  данными  типами  приложений, 

требования  к  видеокартам  очень  быстро  росли.  Теперь  видеокарта  –  это 

текстолитовая плата на которой может располагаться несколько гигабайт своей 

оперативной  памяти  и  мультиядерные  графические  процессоры.  Компания 



Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

203



nVidia  предлагает  возможность  использовать  всю  мощь  своих  видеокарт  с 

помощью  ее  открытой  технологии  CUDA  как  кластер  для  конвейерных 

вычислений. 

В  ноябре  2006  года,  nVidia  анонсировала  технологию  параллельных 

вычислений CUDA с новой моделью параллельного программирования и новой 

архитектурой  команд,  которая  позволяет  с  помощью  процессоров  в 

графических  картах  nVidia    решать  многие  сложные  вычислительные  задачи 

более эффективно, чем на обычном процессоре. 

В  этой  статье  проводится  исследование  этой  технологии  на  примере 

простейшей  программы,  которая  будет  искать  один  элемент  в  массиве  двумя 

разными способами: без этой технологии, когда алгоритм работает на ЦПУ и с 

помощью  технологии nVidia  CUDA,  когда  он  будет  распараллелен и  работать 

на ГПУ и составления сравнительной характеристики этих программ. 

Перспективы 

Направление  параллельных  вычислений  является  в  данное  время  одним 

из  перспективнейших  в  данное  время,  но  если  раньше  необходимо  было 

проектировать  дорогостоящий  кластер,  состоящий  из  нескольких  сот,  а  то  и 

тысяч  компьютеров,  то  сейчас  достаточно  одного  компьютера  с  двумя  или 

четырьмя мощными видеокартами стоимостью 10 000 – 20 000 долларов. 

Кроме  того,  кластеры  обладают  такими  недостатками:  а)высокая 

стоимость;  б)сложность  администрирования;  в)проектирование  оптимальной 

топологии линий связи; 

г)большой персонал по обслуживанию. 

Среди  недостатков  же  технологии  CUDA,  которые  есть  у  каждой 

технологии,  является  только  ограниченность  вычислительной  мощности  по 

сравнению  с  суперЭВМ  или  кластерами  по  стоимости  несколько  миллионов 

долларов.  Самым  же  главным  достоинством  является  то,  что  там,  где  не 

требуются  эти  мощности,  но  и  мощности  обычной  рабочей  станции  не 

достаточно,  эта  технология  является  примиряющим  компромиссом  между 

стоимостью и производительностью.  Скорость же  GPU разительно отличается 

от скорости CPU. 

Преимущества  CUDA  перед  традиционным  подходом  к  GPGPU 

вычислениям:  

-  интерфейс  программирования  приложений  CUDA  основан  на 

стандартном  языке  программирования  Си  с  расширениями,  что  упрощает 

процесс изучения и внедрения архитектуры CUDA; 

-  CUDA  обеспечивает  доступ  к  разделяемой  между  потоками  памяти 

размером  в  16  Кб  на  мультипроцессор,  которая  может  быть  использована  для 

организации  кэша  с  широкой  полосой  пропускания,  по  сравнению  с 

текстурными выборками; 

- более эффективная передача данных между системной и видеопамятью 

-  отсутствие  необходимости  в  графических  API  с  избыточностью  и 

накладными расходами; 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

204



-  линейная  адресация  памяти,  и  gather  и  scatter,  возможность  записи  по 

произвольным адресам; 

- аппаратная поддержка целочисленных и битовых операций. 

Основные ограничения CUDA:  

- отсутствие поддержки рекурсии для выполняемых функций; 

- минимальная ширина блока в 32 потока; 

- закрытая архитектура CUDA, принадлежащая NVIDIA. 

NVIDIA V&S AMD? 

Вычисления  на  GPU  развивались  и  развиваются  очень  быстро.  И  в 

дальнейшем,  два  основных  производителя  видеочипов,  NVIDIA  и  AMD, 

разработали  и  анонсировали  соответствующие  платформы  под  названием 

CUDA (Compute Unified Device Architecture) и CTM (Close To Metal или AMD 

Stream  Computing),  соответственно.  В  отличие  от  предыдущих  моделей 

программирования  GPU,  эти  были  выполнены  с  учётом  прямого  доступа  к 

аппаратным  возможностям  видеокарт.  Платформы  не  совместимы  между 

собой,  CUDA  —  это  расширение  языка  программирования  C,  а  CTM  — 

виртуальная  машина,  исполняющая  ассемблерный  код.  Зато  обе  платформы 

ликвидировали  некоторые  из  важных  ограничений  предыдущих  моделей 

GPGPU, 

использующих 



традиционный 

графический 

конвейер 

и 

соответствующие интерфейсы Direct3D или OpenGL.  



Конечно  же,  открытые  стандарты,  использующие  OpenGL,  кажутся 

наиболее портируемыми и универсальными, они позволяют использовать один 

и тот же код для видеочипов разных производителей. Но у таких методов есть 

масса  недостатков,  они  значительно  менее  гибкие  и  не  такие  удобные  в 

использовании.  Кроме  того,  они  не  дают  использовать  специфические 

возможности определённых видеокарт, такие, как быстрая разделяемая (общая) 

память, присутствующая в современных вычислительных процессорах.  

Именно  поэтому  компания  NVIDIA  выпустила  платформу  CUDA  —  C-

подобный язык программирования со своим компилятором и библиотеками для 

вычислений  на  GPU.  Конечно  же,  написание  оптимального  кода  для 

видеочипов  совсем  не  такое  простое  и  эта  задача  нуждается  в  длительной 

ручной  работе,  но  CUDA  как  раз  и  раскрывает  все  возможности  и  даёт 

программисту  больший  контроль  над  аппаратными  возможностями  GPU. 

Важно,  что  поддержка  NVIDIA  CUDA  есть  у  чипов  G8x,  G9x  и  GT2xx, 

применяемых  в  видеокартах  GeForce  серий  8, 9  и  200,  которые  очень  широко 

распространены. В настоящее время выпущена финальная версия CUDA 2.0, в 

которой  появились  некоторые  новые  возможности,  например,  поддержка 

расчётов  с  двойной  точностью.  CUDA  доступна  на  32-битных  и  64-битных 

операционных системах Linux, Windows и MacOS X. 

В  сети  можно  найти  достаточно  много  информации  по  технологии 

CUDA.  Последний,  на  момент  написание  статьи,  релиз  SDK  (v  2.3)  имеет 

возможность  интеграции  с  Visual  Studio  2008,  имеет  так  же  хорошую 

документацию. В то время как по технологии AMD очень мало информации, и 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

205



лишь бета версия SDK. Исходя из этого можно сделать вывод что технология 

CUDA  несколько  преуспевает  в  области  технологии    неграфических 

вычислений. 

CPU V&S GPU 

Рост  частот  универсальных  процессоров  упёрся  в  физические 

ограничения 

и 

высокое 


энергопотребление, 

и 

увеличение 



их 

производительности всё чаще происходит за счёт размещения нескольких ядер 

в одном чипе. Продаваемые сейчас процессоры содержат лишь до четырёх ядер 

(дальнейший  рост  не  будет  быстрым)  и  они  предназначены  для  обычных 

приложений,  используют  MIMD  —  множественный  поток  команд  и  данных. 

Каждое ядро работает отдельно от остальных, исполняя разные инструкции для 

разных процессов.  

Специализированные 

векторные 

возможности 

появились 

в 

универсальных  процессорах  из-за  возросших  требований  графических 



приложений.  Именно  поэтому  для  определённых  задач  применение  GPU 

выгоднее, ведь они изначально сделаны для них.  

Например, в видеочипах NVIDIA основной блок — это мультипроцессор 

с  восемью-десятью  ядрами  и  сотнями  ALU  в  целом,  несколькими  тысячами 

регистров  и  небольшим  количеством  разделяемой  общей  памяти.  Кроме  того, 

видеокарта  содержит  быструю  глобальную  память  с  доступом  к  ней  всех 

мультипроцессоров,  локальную  память  в  каждом  мультипроцессоре,  а  также 

специальную память для констант.  

Самое главное — эти несколько ядер мультипроцессора в GPU являются 

SIMD  (одиночный  поток  команд,  множество  потоков  данных)  ядрами.  И  эти 

ядра  исполняют  одни  и  те  же  инструкции  одновременно,  такой  стиль 

программирования  является  обычным  для  графических  алгоритмов  и  многих 

научных  задач,  но  требует  специфического  программирования.  Зато  такой 

подход  позволяет  увеличить  количество  исполнительных  блоков  за  счёт  их 

упрощения.  

Итак, перечислим основные различия между архитектурами CPU и GPU. 

Ядра  CPU  созданы  для  исполнения  одного  потока  последовательных 

инструкций  с  максимальной  производительностью,  а  GPU  проектируются  для 

быстрого  исполнения  большого  числа  параллельно  выполняемых  потоков 

инструкций.  Универсальные  процессоры  оптимизированы  для  достижения 

высокой производительности единственного потока команд, обрабатывающего 

и  целые  числа  и  числа  с  плавающей  точкой.  При  этом  доступ  к  памяти 

случайный.  Из-за  изначально  параллельной  организации  работы  в  GPU 

используется  большое  количество  исполнительных  блоков,  которые  легко 

загрузить, в отличие от последовательного потока инструкций для CPU.  

В  универсальных  процессорах  большие  количества  транзисторов  и 

площадь  чипа  идут  на  буферы  команд,  аппаратное  предсказание  ветвления  и 

огромные  объёмы  начиповой  кэш-памяти.  Все  эти  аппаратные  блоки  нужны 

для  ускорения  исполнения  немногочисленных  потоков  команд.  Видеочипы 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

206



тратят  транзисторы  на  массивы  исполнительных  блоков,  управляющие 

потоками  блоки,  разделяемую  память  небольшого  объёма  и  контроллеры 

памяти  на  несколько  каналов.  Вышеперечисленное  не  ускоряет  выполнение 

отдельных  потоков,  оно  позволяет  чипу  обрабатывать  нескольких  тысяч 

потоков,  одновременно  исполняющихся  чипом  и  требующих  высокой 

пропускной способности памяти.  

Универсальные  центральные  процессоры  используют  кэш-память  для 

увеличения производительности за счёт снижения задержек доступа к памяти, а 

GPU используют кэш или общую память для увеличения полосы пропускания. 

CPU  снижают  задержки  доступа  к  памяти  при  помощи  кэш-памяти  большого 

размера, а также предсказания ветвлений кода. Эти аппаратные части занимают 

большую  часть  площади  чипа  и  потребляют  много  энергии.  Видеочипы 

обходят  проблему  задержек  доступа  к  памяти  при  помощи  одновременного 

исполнения  тысяч  потоков  —  в  то  время,  когда  один  из  потоков  ожидает 

данных из памяти, видеочип может выполнять вычисления другого потока без 

ожидания и задержек.  

CPU  исполняет  1-2  потока  вычислений  на  одно  процессорное  ядро,  а 

видеочипы могут поддерживать до 1024 потоков на каждый мультипроцессор, 

которых  в  чипе  несколько  штук.  И  если  переключение  с  одного  потока  на 

другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за 

один такт.  

Вкратце  можно  сказать,  что  в  отличие  от  современных  универсальных 

CPU,  видеочипы  предназначены  для  параллельных  вычислений  с  большим 

количеством  арифметических  операций.  И  значительно  большее  число 

транзисторов  GPU  работает  по  прямому  назначению  —  обработке  массивов 

данных,  а  не  управляет  исполнением  (flow  control)  немногочисленных 

последовательных  вычислительных  потоков.  Это  схема  того,  сколько  места  в 

CPU и GPU занимает разнообразная логика:  

В итоге, основой для эффективного использования мощи GPU в научных 

и  иных  неграфических  расчётах  является  распараллеливание  алгоритмов  на 

сотни исполнительных блоков, имеющихся в видеочипах. Выполнение расчётов 

на  GPU  показывает  отличные  результаты  в  алгоритмах,  использующих 

параллельную  обработку  данных.  То  есть,  когда  одну  и  ту  же 

последовательность математических операций применяют к  большому  объёму 

данных.  При  этом  лучшие  результаты  достигаются,  если  отношение  числа 

арифметических  инструкций  к  числу  обращений  к  памяти  достаточно  велико. 

Это  предъявляет  меньшие  требования  к  управлению  исполнением  (flow 

control),  а  высокая  плотность  математики  и  большой  объём  данных  отменяет 

необходимость в больших кэшах, как на CPU.  

В 

результате 



всех 

описанных 

выше 

отличий, 



теоретическая 

производительность видеочипов значительно превосходит производительность CPU.  



Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

207



Что  бы  проверить  наглядно  возможность  GPU  напишем  простейшую 

программу  поиска  элемента  в  массиве.  Рассмотрим  худший  случай,  когда 

искомый элемент находиться в конце массива. 

При  создании  программы  использовались  следующие  средства  и 

инструменты:  

1. Видеокарта из серии nVidia GeForce 8xxx/9xxx или более современная. 

2.  CUDA  Toolkit  v.2.3  (скачать  можно  здесь:  www.  nvidia.  ru 

/object/cuda_get_ru.html) 

3. CUDA SDK v.2.3 (скачать можно там же где Toolkit) 

4. Visual Studio 2008 

5.  CUDA  Visual  Studio  Wizard  (скачать  можно  здесь:  sourceforge. 

net/projects/cudavswizard/) 

 

Текст программы 



 

#include  

#include  

#define CPU 1 

#define GPU 2 

// 


функция 

выполняемая 

на 

центральном процессоре 



__host__  void  searchCPU  (  float  * 

data, int * result ) 

 

int len = 16 * 1024 * 1024; 



 

 

 



for ( int j = 0; j < len; j++ ) 

 



 

 

if (data[j] == 2.0f ) 



 

 



 

 

 



result[0] = data[j]; 

 

 



 

result[1] = j; 

 

 



 



// 

функция 


выполняемая 

на 


графическои процессоре 

__global__  void  searchGPU  (  float  * 

data, int * result ) 

{  


   int  idx  =  blockIdx.x  *  blockDim.x  + 

threadIdx.x; 

   //data [idx] = data [idx] + 1.0f; 

   if ( data [idx] == 2.0f )  

   { 

 

result[0] = data [idx]; 



 

result[1] = idx; 

   } 



 



int main ( int argc, char *  argv [] ) 

  int n        = 16 * 1024 * 1024; 



  int numBytes = n * sizeof ( float ); 

  int size_int = 2 * sizeof ( int ); 

 

//timer for host 



  clock_t start, finish; 

  double  duration; 

             // allocate host memory 

  float * a = new float [n]; 

  int * host_res = new int[2]; 

 

//init host variables 



  for ( int i = 0; i < n-1; i++ ) 

    a [i] = 0.0f; 

    a [n-1] = 2.0f; 

  host_res [0] = 0; 

  host_res [1] = 0; 

 

//Выбираем способ расчета  



  printf("Select  compute  mode:  1  - 

CPU, 2 - GPU\n"); 

  int mode; 

  scanf("%i", &mode); 

  if ( mode == CPU ) 


Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

208



  { 

start = clock(); //start timer 

 

searchCPU (a, host_res); 



 

finish = clock(); //stop timer 

 

duration = (double)(finish - start) 



CLOCKS_PER_SEC; 

//time 

in 


seconds 

 

printf(  "time  spent  executing  by 



the CPU: %.5f seconds\n", duration ); 

  } else  

  if ( mode == GPU ) 

  {      // allocate device memory 

    float * dev = NULL; 

 

int * res = NULL; 



     

    cudaMalloc 

(void**)&dev, 



numBytes ); 

    cudaMalloc ( (void**)&res, size_int ); 

 

                   // 



set 

kernel 


launch 

configuration 

    dim3 threads = dim3(512, 1); 

    dim3 blocks  = dim3(n / threads.x, 1); 

                  // create cuda event handles 

    cudaEvent_t start, stop;  

    float gpuTime = 0.0f; 

    cudaEventCreate ( &start ); 

    cudaEventCreate ( &stop ); 

                 // asynchronously issue work 

to the GPU (all to stream 0) 

    cudaEventRecord ( start, 0 );  

 

//copy data to device 



    cudaMemcpy      ( dev, a, numBytes, 

cudaMemcpyHostToDevice ); 

    cudaMemcpy            (  res,  host_res, 

size_int, cudaMemcpyHostToDevice ); 

               //call device function 

    searchGPU<<

threads>>>(dev,res); 

//copy data to host 

    cudaMemcpy            (  host_res,  res, 

size_int,  cudaMemcpyDeviceToHost  );

 

 

    cudaEventRecord  (  stop,  0  );  //  stop 



timer for device 

    cudaEventSynchronize ( stop ); 

    cudaEventElapsedTime 

&gpuTime,  start,  stop  );  //gpuTime  - 



time in miliseconds 

               // print the gpu times 

    printf("time  spent  executing  by  the 

GPU: %.5f seconds\n", gpuTime/1000 ); 

 // release resources (device) 

    cudaEventDestroy ( start ); 

    cudaEventDestroy ( stop  ); 

    cudaFree         ( dev   ); 

  } 

  else 


  {    printf("not  correct  input");    return 

1;   } 


     //print result 

     printf 

"value 


%i, 

index 


%i",host_res[0], host_res[1]); 

// release resources (host) 

    delete a; 

    delete host_res; 

    return 0; 

    Результаты выполнения программы 



 

Результаты  выполнения  прог-

рамммы  приведены  на  рисунке  1. 

Как  видим  из  рисунка,  при  первом 

запуске  программы  выбран  режим 

«CPU», 


т.е. 

выполнение 

на 

центральном  процессоре.  Время 



выполнения  программы  в  этом 

случае  составило  78  миллисекунд. 

При  втором  запуске  был  выбран 

режим  «GPU»  -  выполнение  на 

графическом  процессоре.  При  этом, 

время   выполнения     программы  



Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

209



 

 

Рис. 1 – результат выполнения программы



 

 

составило  47  миллисекунд.  Как 



видим  прирост  производительности 

порядка  40%.  Не  так  уж  много. 

Однако 

время 


измерения 

выполнения 

на 

графическом 



процессоре  измерялось  с  учетом 

копирования  исходных  данных  в 

память  видеокарты  и  результата 

обратно в ОЗУ. А что если измерить 

скорость  выполнения  без  учета 

копирования 

данных 

т.е. 


фактическую 

скорость 

самого 

алгоритма?  Результат  приведен  на 



рисунке 2. 

 

Как  видим  из  рисунка  2, 



результат выполнения программы на 

GPU  без  учета  копирования  данных 

составил  около  9  миллисекунд. 

Таким  образом,  «львиная»  доля 

времени 

используется 

на 

копирование данных в память GPU и 



обратно. Но, несмотря на это, все же 

достигается 

неплохой 

прирост 


производительности. 

 

 



Жоғары оқу орындарында ақпараттық технологияларды оқыту сапасын жақсарту: 

жолдары мен мүмкіндіктері 

 

210



Рис. 2 – измерение времени выполнения  

программы без учета копирования данных 

 

Выводы 


 

Для эффективного использования возможностей CUDA нужно забыть про 

обычные методы написания программ для CPU, и использовать те алгоритмы, 

которые  хорошо  распараллеливаются  на  тысячи  потоков,  и  что  очень  важно, 

если  это  распараллеливание  действительно  необходимо.  Также  важно  найти 

оптимальное место для хранения данных (регистры, разделяемая память и т.п.), 

минимизировать  передачу  данных  между  CPU  и  GPU,  использовать 

буферизацию. 

 

СПИСОК СОКРАЩЕНИЙ 



 

CUDA  


Compute Unified Device Architecture 

GPGPU  


General-Purpose computing on Graphics Processing Units 

GPU   


Graphic Processor Unit 

CPU   


Central Processor Unit 

 

Список  литературы 



 

1.

 



http://www.ixbt.com/video3/cuda-1.shtml 

2.

 



http://www.nvidia.ru 

3.

 



http://www.nvidia.com 

 

 




Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   48




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет