упоминания что это примитив
Да, оно самое
https://en.wikipedia.org/wiki/Barrier_(computer_science)
вроде не написано что это примитив. а написано что метод) вопрос больше по терминологии у меня
Окей, рассказываю подробнее(лично как я с этим встречался в Vulkan API). Как примитив это работает так: Есть например 2 потока, один грузит текстуру с диска, второй её рендерит. Очевидно, второй не может запуститься пока не будет завершён первый. Устанавливается барьер, в котором указано, что второй поток должен запуститься только после первого. На самом деле там чуть-чуть более гибкая система, где у потоков могут быть "этапы", и разные потоки ждут пока их соседи достигнут каких либо этапов. Именно такую систему и описывает барьер.
это подсказка компилятору и, иногда, процессору, чтобы операции до барьера не выполнялись после него и, наоборот, чтобы операции после барьера не выполнялись до него
это, имхо, не те барьеры, это скорее барьеры из gapi, они несколько другие
Ну не знаю, возможно есть и другие, но мне кажется они примерно одной сути
у тебя барьеры есть в плюсах: atomic_thread_fence
т.е. я всё верно сказал?
если грубо то да
и изначально про этот барьер вроде и говорилось. есть барьер, а есть барьер памяти - разные вещи как я понял
важно различать то что ставит треды на одной стартовой очереди и то что синхронизирует операции в памяти
Обсуждают сегодня