memory model

Avoiding Relocation Errors when Building Applications with Large Global or Static Data on Intel64 Linux

Applications with >2GB of static or global data should be built with –mcmodel=medium –shared-intel on Intel64 Linux*. If linked with static libraries, these should also be built with –mcmodel=medium. Else, "relocation truncated to fit" errors may occur.
  • Sviluppatori
  • Linux*
  • C/C++
  • Fortran
  • Compilatore C++ Intel®
  • Intel® C++ Composer XE
  • Compilatore Fortran Intel®
  • Intel® Fortran Composer XE
  • -mcmodel
  • memory model
  • relocation
  • Don't rely on memory barriers for synchronization... Only if you don't aware of Relacy Race Detector!

    Multithreading is hard. Implementation of synchronization primitives is even harder. And most advanced synchronization primitives which exploit relaxed memory models are brain damaging.  So don't rely on memory barriers for synchronization. Now you will think "Ah, you are one of those folks, who constantly saying to us - don't do this, don't do that, it's too difficult, it's too dangerous, anyway you will fail". Nope, I am not. I am saying exactly the opposite - do rely on memory barriers for synchronization...

    Что такое модель памяти? И с чем её едят?

    Я часто сталкиваюсь с вопросами или недопониманием относительно того, что такое модель памяти, какого плана гарантии она даёт, какого плана гарантии она не даёт и т.д. Да и вообще, модель памяти - это самый фундаментальный момент касательно многопоточности и синхронизации. Поэтому я решил посвятить свой второй пост на ISN именно этому вопросу.

    Итак к делу. Модель памяти определяет 3 фундаментальных свойства: атомарность, видимость и упорядочивание.
    Iscriversi a memory model