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

топ 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. дал еще больше подсказок и намеков,
эксперимент продолжается

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

Архив записей в блогах:
Хакеры из "Киберберкута" выложили в сеть ролик с постановочной казнью, где якобы боевик ИГИЛ казнит какого-то заложника в оранжевой робе. При этом указывается, что ролик был обнаружен на цифровом носителе http://lifenews.ru/news/157137 одного из коллег нашего любимца Джона Маккейна ...
Помню, как я обнаружил в себе способность раздражать людей. Выяснилось, что аргументированная критика вызывает у фотографов лютую ярость, и разрывы пуканов сейсмического масштаба. Не скрою, столь забавный результат столь ничтожных усилий доставил мне немалое удовольствие, и решив не ...
Мигранты — всё как есть. Правду-матку об этнических ОПГ, именуемых "диаспорами", рубанул депутат Госдумы Пётр Толстой после скандала с главой узбекской диаспоры. "Все эти национальные диаспоры, землячества и общины не что иное, как легализованные мафиозные структуры. Чем эти ...
Пятничное ретро.           Были такие магнитные шашки (у нас даже до сих пор где-то лежат), очень удобно играть хоть в поезде, хоть на пляже.     1989 год, Севастополь, фото В. Златомрежев , семейный альбом, семейный ...
Ничего писать не буду, только картиночку запосчу,нарисована она специально по мотивом поста. http://shagirt.livejournal.com/165553.html ...