особенности программирования на современном этапе

топ 100 блогов uzhas_sovka12.09.2012 Наверняка много среди читающих профессиональных программистов,
не то чтобы в этом было что-то плохое.
Честно заработанный кусок хлеба, и вообще.

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

Что код делает и почему он такой красиво-гениальный короче.
А уж потом вернемся к Мессершмиту и прочему дискурсу.
Может быть.

#define PADDING (32)
#define GROUP_DIMX (32)
#define GROUP_DIMY (2)
...

int global_input_stride = W * GROUP_DIMY;
int global_output_stride = (H + PADDING) * GROUP_DIMY;

int local_input_stride = GROUP_DIMY * (GROUP_DIMX + 1);
int local_output_stride = GROUP_DIMY;

....

tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index]; local_input += local_input_stride; input_index += global_input_stride;
tile[local_input] = input[input_index];

barrier(XXX_LOCAL_MEM_FENCE);

output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output]; local_output += local_output_stride; output_index += global_output_stride;
output[output_index] = tile[local_output];

upd. дал еще больше подсказок и намеков,
эксперимент продолжается

Оставить комментарий

Архив записей в блогах:
Купила деточке билеты в Сев. Успела урвать субсидированные - 13 тыщ за туда-обратно (вообще-то немного дешевле, но комиссию берет турагентство, в котором брала; а непосредственно в авиакомпании выцепить не успела). При этом путевка в нормальный лагерь стоит почти пятнашку. Это через цен ...
Есть такая линейка СТ - немецкая. И не секрет что до 8 уровня оная набита говнотанками. В один прекрасный день унылая первая пантера с унылой удочкой, стреляющей раз в час, осталась позади, была куплена вторая. После выкачки ходовой и срамтурма ...
Какие только города у нас сегодня не называют различными "столицами"! Начали с Петербурга ("культурная", она же "криминальная" столица), а потом пошло поехало - есть даже "огуречная столица" , Истобенск. На самом деле, многие уголки страны ...
Я довольно мало знаю, и с каждым углублением в тему понимаю, насколько мало. Более того, в последнее время я заметил, что в Интернете можно при желании найти авторитетное подтверждение любой точке зрения  — что люди ходят на головах, Австралия ведет холодную войну с Лихтенштеном или ...
Знаете, кого мне напоминают современные мужчинки? Макдональдс. Все по-быстренькому. Скорей-скорей-скорей-скорей. Дешево. И главное - чуть что, ручку вверх и во весь голос: -Свободная касса! Не, ну а зачем простаивать? Это бабы-дуры, в отношения верят, в лябофь, страдают, переживают, в де ...