Извините, но Вы выразились слишком обобщенно. Тот реализ, который у меня сейчас, отсылает массив из
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
чисел в устройство и получает массив из
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
минимальных значений, т.е. каждое из этих значений минимальное из найденных в каждой нити
![$m$ $m$](https://dxdy-01.korotkov.co.uk/f/0/e/5/0e51a2dede42189d77627c4d742822c382.png)
значений. (Можно выбрать и в устройстве самое минимальное из этих значений и отсылать на хост только одно - искомое). Вы,насколько я понял, предлагаете разбить
![$m$ $m$](https://dxdy-01.korotkov.co.uk/f/0/e/5/0e51a2dede42189d77627c4d742822c382.png)
на малые порции, обозначим размер каждой такой порции
![$p, tp=m$ $p, tp=m$](https://dxdy-04.korotkov.co.uk/f/7/2/c/72c88871389eac87c94029450706d01382.png)
и вызывать циклически устройство
![$t$ $t$](https://dxdy-01.korotkov.co.uk/f/4/f/4/4f4f4e395762a3af4575de74c019ebb582.png)
раз. Т.о. устройство на каждом шаге цикла должно получать
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
параметров для очередной генерации, генерировать
![$p$ $p$](https://dxdy-03.korotkov.co.uk/f/2/e/c/2ec6e630f199f589a2402fdf3e0289d582.png)
значений, выбирать минимум и отправлять на хост
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
минимальных значений из всех
![$kp$ $kp$](https://dxdy-01.korotkov.co.uk/f/c/2/f/c2f60d08f1516932629fe63267b8fc1e82.png)
. Либо выбирать минимальное из полученных
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
значений и отправлять на хост только его. Либо хранить где-то до следующего шага цикла, вызывающего устройство. Насколько я понимаю, последний вариант отпадает, т.к. устройство после каждого шага будет сброшено для работы со столом. Получается, что нужно сделать
![$t$ $t$](https://dxdy-01.korotkov.co.uk/f/4/f/4/4f4f4e395762a3af4575de74c019ebb582.png)
обменов "хост-устройство" и
![$t$ $t$](https://dxdy-01.korotkov.co.uk/f/4/f/4/4f4f4e395762a3af4575de74c019ebb582.png)
обменов "устройство-хост", т.е. переслать не
![$2k$ $2k$](https://dxdy-04.korotkov.co.uk/f/f/1/7/f1738bbe3646e5962be59daa0aa34d5682.png)
чисел, как у меня сейчас, и не
![$k+1$ $k+1$](https://dxdy-04.korotkov.co.uk/f/3/3/3/33359de825e43daa97171e27f6558ae982.png)
число, как можно сделать, а
![$2kt$ $2kt$](https://dxdy-04.korotkov.co.uk/f/b/c/5/bc5c6dbf25a6251bcdf37d7c63f0d4cf82.png)
чисел. Либо каким-то чудесным образом восстанавливать минимум, полученный на предыдущем шаге. Каким образом сделать такое восстановление, я не представляю. Объясните, пожалуйста, подробнее.
(Если timeout = 2 сек., то при 10 часах работы
![$t=18000$ $t=18000$](https://dxdy-03.korotkov.co.uk/f/6/4/a/64a3c7d850527740d4f1bd3a9414459782.png)
).