I dio: Uvod u biblioteku BLAS

Šta je BLAS? 

Istorijski BLAS (Basic Linear Algebra Subprograms) ili danas BLAST (BLAS Technical Forum Standard) predstavlja specifikaciju skupa elementarnih funkcija (programskih rutina) za izvršavanje različitih matematičkih operacija u sklopu linearne algebre, i kao takav predstavlja standard za pisanje visoko optimizovanih biblioteka za različite tipove računarskih arhitektura. Pojavio se kao potreba da se određen skup matematičkih funkcija (operatora) standardizuje na neki način, kako bi se njihova upotreba mogla generalizovati na veći skup aplikacija [1].

GTest sa primerima

​Google Test (poznatiji kao GTest) je Google-ov framework za testiranje, čiji je cilj da omogući jednostavno pisanje i izvršavanje jediničnih testova za C++ programe. Otvorenog je koda i javno dostupan na adresi https://github.com/google/googletest. Što se kompatibilnosti tiče, podržani su najzastupljeniji operativni sistemi – Linux distribucije, Mac i Windows, a od sistema za build – Bazel (koji se i interno od strane Google-ovih timova koristi), ali i CMake.

Uvod u Bazel

​Bazel je besplatan alat koji ima za cilj da automatizuje build-ovanje i testiranje softvera. Pre nego da postane javno dostupan 2015. godine, korišćen je interno od strane Google-a, kao deo većeg alata Blaze-a. Slično kao Apache maven, Bazel build-uje aplikacije na osnovu skupa pravila. Ova pravila i markoi su kreirani u Starlark jeziku, koji je varijanta Python-a. Bazel ima podršku za veliki skup build pravila, koja pokrivaju softver pisan u različitim programskom jezicima: Java, C, C++, Go, Python, Objective-C i Bourne shell skripte.