|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
Здравствуйте!!! Помогите пожалуйста с заданием: Распараллелить сортировку Шелла Тут последовательный алгоритм Шелла, а мне надо параллельный Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 19:07 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
Gomn, Разбей массив на массивчики, отсортируй их в нитях и соедини результат. И не вводи весь массив с клавиатуры. Сгенери случайным образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 20:10 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
OoCcGomn, Разбей массив на массивчики, отсортируй их в нитях и соедини результат. И не вводи весь массив с клавиатуры. Сгенери случайным образом. Скорее всего препод не это имел в виду. Если мы сделаем так - то втаскиеваем лабораторную работу еще один (другой) алогоритм сортировки типа слияния. Это выглядит странно. С другой стороны Шелл не приспособлен для параллелизма. И тут нужно 10 раз подумать как делать обмен ячеек в памяти в условиях когда эта-же память читается и пишется другими процессами. Вообще задача пахнет "недопонятой" или "недосказанной" постановкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 23:57 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
kealon(Ruslan)Gomn, ну а гугл что говорит? тынц Готов спорить что эта статья автору не поможет. Ему надо по уровню легче. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2018, 23:08 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
mayton, я даже спорить не буду ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2018, 00:06 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
Код: plaintext 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.
Но препод сказал, он у тебя коряво работает, нет синхронизации, сбои в потоке, помогите правильно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 18:47 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
1) У тебя первый вариант работает? Если да - то используй его как эталон. 2) Запусти второй вариант. На одних и тех-же данных (seed(0)+rand должны дать одинаковую последовательсность чисел) у тебя оба варианта должны дать 100% совпадание сортированных чисел в обоих вариантах. 3) Надо было больше информации вытрясти из препода. Что значит "коряво"? Где нужна синхронизация? И как препод догадался что "сбои в потоке" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 23:21 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
Gomn, Сделай засечку времени на приличного размере массиве и сравни, поможет тебе такое "распараллеливание" или нет. Препод прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2018, 08:26 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
Ах да. Результат работы надо проверять. Если из разных потоков пишешь в одну переменную, получается чушь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2018, 08:27 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
maytonkealon(Ruslan)Gomn, ну а гугл что говорит? тынц Готов спорить что эта статья автору не поможет. Ему надо по уровню легче. Очень забавная статья автор... На первом этапе ( N итераций) осуществляется взаимодействие процессоров, являющихся соседними в структуре гиперкуба ... Как они "взаимодействие процессоров" в коде представляют? Можно было попроще объяснить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2018, 08:53 |
|
Сортировка Шелла
|
|||
---|---|---|---|
#18+
SiemarglGomn, Сделай засечку времени на приличного размере массиве и сравни, поможет тебе такое "распараллеливание" или нет. Добавил pragma critical, вроде потоки не сбиваются и сортирует как надо Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2018, 00:05 |
|
|
start [/forum/search_topic.php?author=anpost&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 715ms |
total: | 875ms |
0 / 0 |