This chapter introduces libpmem, one of the smallest libraries in PMDK. This C library is very low level, dealing with things like CPU instructions related to persistent memory, optimal ways to copy data to persistence, and file mapping. Programmers who only want completely raw access to persistent memory, without libraries to provide allocators or transactions, will likely want to use libpmem as a basis for their development.
The code in libpmem that detects the available CPU instructions, for example, is a mundane boilerplate code that you do not want to ...