Skip to content

stixpjr/cpu_check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a7e078a · Jan 29, 2019

History

28 Commits
Sep 12, 2018
Nov 30, 2018
Nov 16, 2018
Jan 29, 2019
Nov 16, 2018
Nov 30, 2018
Sep 12, 2018
Sep 12, 2018
Nov 15, 2018
Sep 12, 2018
Sep 12, 2018
Nov 19, 2018

Repository files navigation

cpu_check

NOTE: BETA code, work-in-progress.

CPU torture test designed for SMP systems, attempting to find CPU hardware faults, focusing primarily on the x86_64 architecture.

The basic operation is to:

  • Run threads with affinity fixed to each logical CPU.
  • Generate a chunk of random data, either dictionary based text, or random binary data.
  • Run a number of checksum/hash algorithms over the data, store their results.
  • Compress the data via one of (zlib, ...).
  • Encrypt the data via AES-256-GCM.
  • Copy the data ('rep movsb' on x86, else memcpy).
  • Switch affinity to an alternate logical CPU.
  • Decrypt.
  • Decompress.
  • Run checksum/hash algorithms and compare with stored results.

Algorithms are chosen to exercise various hardware extensions. Eg. on x86_64, SSE4.2, AVX, etc.

Prerequisites:

Designed to run under Unix/Linux OS.

Building

sh$ git clone git@github.com:stixpjr/cpu_check.git
sh$ cd cpu_check
sh$ mkdir build
sh$ cd build
sh$ cmake ..
sh$ make

Options

Some options have been implememented that affect the build, which may be passed to cmake via, eg:

cmake -DCMAKE_BUILD_TYPE=(Debug|Release)

  • CMAKE_BUILD_TYPE=(Release|Debug)
  • USE_CLANG=(ON|OFF)
  • BUILD_STATIC=(ON|OFF)

TODO:

About

CPU stress tester

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages