Reply to comment

Ну вообще lexa ответил в полне почему сейчас невозможно глобальная синхронизация.
>А зачем Вам управлять этим?
:-) ответ на этот вропрос есть в любой книге по параллельным вычислениям(например Эндрюс Г.Р. основы многопоточного, параллельного и распределенного программирования. глава 3 Блокировки и барьеры).
Ядро может иметь следующие инструкции для опираций над матрицей
И1;
И2;

каждая из них может изменяет матрицу, прочем не так что 1 поток в обоих инструкциях производит операцию над одной ячейкой мартици, а каждый поток в И1 может читать и менять соседа слева, а И2 читать и меняет соседа справа. Таким образом внутри инструкции И1 и И2 по отдедльности конфликтов обращения не будет. Однако если часть потоков завершит И1 и пристуит к И2 возникнут проблемы. В таком случае идельно было бы проставть браьер бежду И1 и И2 в классическом многопоточном программировании. Я решил проблем следующим образом: разделил И1 и И2 в разные ядра(kernals).
ПС я занимаюсь расчет временного поля по заранее известной скоросной 3Д модели (для сейсморазведки).

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <table> <td> <tr> <th>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Images can be added to this post.

More information about formatting options

Copyright © 2008-2011 Alex Tutubalin