Article
· Nov 9, 2023 3m read

How to determine your CPU’s microarchitecture family and instruction set

Introduction

InterSystems would like to optimize IRIS to take advantage of modern CPU instruction set extensions.  That’s great for product performance, but how do you know if your CPU will still be supported for new IRIS builds?  Here’s how to know your CPU’s microarchitecture family as well as how to find out your CPU’s specific instruction set extensions.

Finding your CPU’s microarchitecture family

 

Step 1 – Know your CPU model

The first step is to find out the specific CPU model for your IRIS server.  There are several ways to do this, depending on your operating system, but here’s how to get this info from IRIS itself.

In an IRIS terminal session, run do $system.CPU.Dump(). This will produce results like this:

              Architecture: x86_64

                       Model: Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz

                     Vendor: Intel

             # of threads: 8

                # of cores: 4

                # of chips: 1

 # of threads per core: 2

   # of cores per chip: 4

          MT supported: 1

            MT enabled: 1

                       MHz: 2300

 

The CPU model information we need is in the Model field above. 

 

Step 2 – Ask your favorite Generative AI engine for the microarchitecture family

 

The model number you found looks very different on different platforms and across generations of processors, but Generative AI does a reasonably good job of patching over the differences.

I’ve been using bing’s GTP-4 interface for generative AI recently.  Using that, I ask

    What microarchitecture family is a <Insert CPU Model Here>” CPU part of?

For example:

    What microarchitecture family is a “Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz” CPU part of?

Returns the following:

The Intel® Core™ i7-1068NG7 CPU @ 2.30GHz is part of the 10th Generation Intel® Core™ i7 Processors family, which is based on the Ice Lake microarchitecture.

 

You can verify this information from Intel or AMD, as appropriate.  This can sometimes take a little digging as there are often multiple marketing names used for the same microarchitecture family – for example AMD’s EPYC line of processors includes two sub-lines named as Milan and Rome.

 

What instruction set extensions does my CPU support?

Rather than looking up your CPU’s microarchitecture family and compare that to a list of supported CPU families, you might choose to check to make sure that your CPU has the specific extensions that are going to be required. 

 

Linux

On linux, open a shell and run the lscpu command.  The Flags section in the results contains the list of extensions your CPU supports.

 

MacOS

On a Mac, you can see supported extensions from the sysctl command.  Open a shell and run sysctl -a then look for the lines machdep.cpu.features and machdep.cpu.leaf7_features to see the extensions your CPU supports.

 

Windows

The coreinfo utility provides an easy-to-read list of your CPU’s instruction set extensions.

Discussion (0)1
Log in or sign up to continue