|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Смержил. Но тестить буду вечером. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:46 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonПочему такой долгий старт? Между стартом первого и последнего потока - почти полторы секунды. Время не смотри, я тебе показал как id потока выглядит. Это 7 потоков в одноядерной виртуалке в под отладчиком MSVC. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:49 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Просто когда я разбираюсь с перформансом - смотрю на диаграмму событий во времени и пытаюсь понять что пошло не так. И где есть бутылочное горло. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:57 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Добавил расчет строками на акторах. Там всего 512 сообщений запускается, у меня стало быстрее на 0.1 сек. Затести card-raytracer-cpp-actor3.exe ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 18:50 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Классно. А можно регулировать размер порции данных для актора? К примеру я захочу по 2 строки толкать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 18:53 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonА можно регулировать размер порции данных для актора? К примеру я захочу по 2 строки толкать? Можешь, мой исходник бери и правь как тебе захочется. Там все просто и понятно. Но я не вижу смысла укрупнять: 512 строк за 10 сек это 19.5 мс на строку, это очень большой кусок. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 19:06 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Запустил в линуксе на моем i3-2310M Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
PS Забыл однопоточно запустить ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 19:25 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Dima TДобавил расчет строками на акторах. Там всего 512 сообщений запускается, у меня стало быстрее на 0.1 сек. Затести card-raytracer-cpp-actor3.exe Merged in master. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 21:44 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Dima TДобавил расчет строками на акторах. Там всего 512 сообщений запускается, у меня стало быстрее на 0.1 сек. Затести card-raytracer-cpp-actor3.exe Ты пишешь про card-raytracer-cpp-actor3.exe но в сборочном скрипте такого output нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 21:50 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Затестил. Мультипоточный вариант - уже очень хорошо. Акторный - пока хреновенько. Наращивание акторов не добавляет мощности к этому софту. Надо что-то кумекать архитектурно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 21:55 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Ага. Увидел. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:00 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Что-то кривенько было. Еще раз перетестил. Вроде лучше. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:06 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
насколько помню, там параллелить надо было поперек, а не вдоль потому переписывать алгоритм на 100%. я не стал ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:14 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Я смотрю после 4 потока еще перформанс растет. Расширю до 12. Отлично! Теперь-бы эти 3 столбика цифр нарисовать в Экцселе. Тремя цветами. У меня дурацкий Libre-Office. Он какие-то стрёмные графики рисует. Так-что прошу кого-то выбрать цифирки и отобразить. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:19 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Siemarglнасколько помню, там параллелить надо было поперек, а не вдоль потому переписывать алгоритм на 100%. я не стал Ты имеешь в виду векторизацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:20 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Обновил run-скрипты. Добавил скрипт для Виндовс. Обновитесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 22:54 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonЯ смотрю после 4 потока еще перформанс растет. Расширю до 12. kealon(Ruslan) был прав 21860492 тормозил rand() maytonОтлично! Теперь-бы эти 3 столбика цифр нарисовать в Экцселе. Тремя цветами. У меня дурацкий Libre-Office. Позже сделаю. Еще надо вернуть в акторы спинлок (который я на мутекс заменил) и перетестить. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 06:12 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Ты boost-примитивы пробовал? В сравнении с std. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 09:01 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Интересный топик получился. Надо-бы что-то подобное поднять. На тему мультизадачности и кешей например. Только без карточного трассировщика. Он ограничен тем что не использует память. А надо найти что-то такое... хм. Чтоб долбануть по всем кешам сразу и из 4-8 ядер. Щас думаю об клеточных автоматах. Они очень просты в реализации. И хорошо параллелятся. https://en.wikipedia.org/wiki/Conway's_Game_of_Life ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 09:35 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Dima TЕще надо вернуть в акторы спинлок (который я на мутекс заменил) и перетестить. А зачем нам два акторных релиза? Они отличаются.. ну 20 строками. Может их слить в одно приложение? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 10:13 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonОтлично! Теперь-бы эти 3 столбика цифр нарисовать в Экцселе. Тремя цветами. У меня дурацкий Libre-Office. Табличкой так получается, вторая колонка во сколько раз быстрее однопоточного ПотоковN блоковПопиксельноПострочно1866687878204255321.645861.942711.9341612.130852.829622.8435572.423763.722213.7526803.219484.517844.6624223.616795.214985.5720924.115685.614465.7821194.115185.814115.8919144.514925.913656.01017405.014236.213426.11117554.913646.412916.41216085.413486.512616.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 12:40 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonDima TЕще надо вернуть в акторы спинлок (который я на мутекс заменил) и перетестить. А зачем нам два акторных релиза? Они отличаются.. ну 20 строками. Может их слить в одно приложение? Для теста добавил, т.к. непонятно было в чем тормоз. Первый считает попиксельно, второй построчно. Какой оставить - не знаю, с точки зрения распараллеливания у второго меньше накладных расходов, думаю его надо оставить. Вернул обратно блокировку спинлоками. Обновись. Затести, потом удалим первый. maytonОбновил run-скрипты. Добавил скрипт для Виндовс. Обновитесь. Я со своим форком работаю, есть какая-то кнопка чтобы в него все твои изменения попали? Или удалить и форкнуть заново? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 13:08 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Dima Tmaytonпропущено... А зачем нам два акторных релиза? Они отличаются.. ну 20 строками. Может их слить в одно приложение? Для теста добавил, т.к. непонятно было в чем тормоз. Первый считает попиксельно, второй построчно. Какой оставить - не знаю, с точки зрения распараллеливания у второго меньше накладных расходов, думаю его надо оставить. Вернул обратно блокировку спинлоками. Обновись. Затести, потом удалим первый. maytonОбновил run-скрипты. Добавил скрипт для Виндовс. Обновитесь. Я со своим форком работаю, есть какая-то кнопка чтобы в него все твои изменения попали? Или удалить и форкнуть заново? Есть. В средах разработки которые поддерживают гит есть кнопка Merge -> from branch -> remote/master. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 14:14 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
Dima TmaytonОтлично! Теперь-бы эти 3 столбика цифр нарисовать в Экцселе. Тремя цветами. У меня дурацкий Libre-Office. Табличкой так получается, вторая колонка во сколько раз быстрее однопоточного ПотоковN блоковПопиксельноПострочно1866687878204255321.645861.942711.9341612.130852.829622.8435572.423763.722213.7526803.219484.517844.6624223.616795.214985.5720924.115685.614465.7821194.115185.814115.8919144.514925.913656.01017405.014236.213426.11117554.913646.412916.41216085.413486.512616.5 Не очень понятно почему построчно быстрее чем блочно. Возможно мы стоим в ожидании последнего блока и это объясняет потери. Неравномерность рендеринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 14:16 |
|
Особенности многопоточности виндовса и линукса, AMD и Intel
|
|||
---|---|---|---|
#18+
maytonНе очень понятно почему построчно быстрее чем блочно. Возможно мы стоим в ожидании последнего блока и это объясняет потери. Неравномерность рендеринга. Не, блочно все стартуют одновременно, но каждый поток заканчивает в разное время, в логе же все видно Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Четверный за 1141 мс отработал, а третий за 3642 мс. А итого по последнему, отсюда тормоза. В случае с акторами построчно: есть очередь с 512 заданиями (1 строка - 1 задание), есть N акторов, каждый актор берет задание из очереди, обсчитывает, берет следующее и т.д. Т.е. все потоки работают почти до конца. Затраты на извлечение из очереди незначительны. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 18:04 |
|
|
start [/forum/topic.php?fid=16&startmsg=39800596&tid=1339960]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 257ms |
total: | 512ms |
0 / 0 |