fix atomic error macro
add scalability framework
add cplusplus macro header