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

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

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

Архив записей в блогах:
На пике своей популярности Чарли Чаплин принял участие в конкурсе двойников «Чарли Чаплин» в Сан-Франциско. Он занял 20 ...
Бизнесмен из Магнитогорска, единственный  собственник местных земель , частных домов и общежитий,  не нарушив  закона, заложил в банке целое село вместе с заселенными домами, в которой живут  правнуки основателей поселения. Себя они уже называют крепостными . У ...
- это у меня, обычно, совпадает с концом года (по понятным причинам). Человек я, в отношении компьютеров, невзыскательный, мне в жизни достаточно ворда, эксцеля, пауэрпойнта, фотошопа и архиваторов, поэтому обхожусь неттопами с АМД, но солидной оперативкой. Но, в целом, операция, ...
...в котором она зачитала письмо медиков о неготовности регионов к борьбе с COVID-19. Пресненский следственный отдел начал проверку в связи с распространением обозревателем «Эха Москвы» и «Новой газеты» Юлией Латыниной «ложной информации» о неготовности регионов, в том числе ...
Увы. там где нашел точной инфы кроме того что Дуга не было. на переднем плане немецкие танки ("трофейные советские") Т-34-76. п.с. из коментов: скорее всего єто машины из состава III./SS-PzRgt 2 - бывшего ПТ батальйона дивизии Das Reich. На 01.07.1943 в Das Reich было 26 Т-34. ...