Unit 0.3.1 Hardware requirements¶
While you may learn quite a bit by simply watching the videos and reading these materials, real comprehension comes from getting your hands dirty with the programming assignments.
We assume that you have access to a computer with a specific instruction set: AVX2. In our discussions, we will assume you have access to a computer with an Intel Haswell processor or a more recent processor. More precisesly, you will need access to one of the following "x86_64" processors:
Intel architectures: Haswell, Broadwell, Skylake, Kaby Lake, Coffee Lake.
AMD architectures: Ryzen/Epyc
How do can you tell what processor is in your computer?
On the processor.
Instructions on how to interpret markings on an Intel processor can be found at
From a label.
Instructions on how to interpret some labels you may find on your computer can be also be found at
Instructions for computers running a Windows operating system can, once again, be found at
In the terminal session type
sysctl -n machdep.cpu.brand_string
Cut and paste whatever is reported into a Google search.
In a terminal window execute
Through one of these means, you will determine the model name of your processor. In our case, we determined the model name
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHzAfter a bit of digging, we discovered that i7-8850H belongs to the "Coffee Lake" family of processors:
https://ark.intel.com/content/www/us/en/ark/products/134899/intel-core-i7-8850h-processor-9m-cache-up-to-4-30-ghz.html. With a bit more digging, we find out that it supports AVX2 instructions.
As pointed out by a learner, the following commands give a list of the features of your CPU if you are running Linux:
sysctl -a | grep machdep.cpu.features sysctl -a | grep machdep.cpu.leaf7_featuresIf one of these yields a list that includes AVX2, you're set. On my mac, the second command works did the trick.