Intel® Software Development Emulator (Intel® SDE)

Product Overview

This emulator is called Intel® Software Development Emulator or Intel® SDE, for short.

The current version is 9.53.0 and was released on Mar 16, 2025. This version corresponds to the Intel® Architecture Instruction Set Extensions Programming Reference revision 319433-051 and the other Intel® Architecture Specifications published in the Intel Instruction Set Architecture page.

The Intel® SDE release notes are here. This is a minor update release.

Intel® SDE supports the following features:

  • Capability to write binary instrumentation pin tools with Intel® SDE services.

  • Emulation support for the Intel® Performance Extensions (Intel® APX) present on future Intel® processors.

  • Emulation support for the Intel® Advanced Vector Extensions 10 (Intel® AVX10) present on future Intel® processors.

  • Emulation support for the Intel® Advanced Matrix Extensions (Intel® AMX) present on Intel® processors.

  • Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instructions present on Intel® processors.

  • Support for the vector instructions for deep learning present on Intel® processors.

  • Support for Intel® Advanced Vector Extensions (Intel® AVX) present on Intel® processors.

  • Intel® AVX2, RTM, BMI1, and BMI2 instructions, being introduced on the 4th Generation Intel® Core™ processor family.

Related useful materials:

Intel is releasing this Intel® SDE so that developers can gain familiarity with our upcoming instruction set extensions. Intel® SDE can help ensure software is ready to take advantage of the opportunities created by these new instructions in our processors. We hope that developers will explore the new instructions using the currently available compilers and assemblers.

Intel® SDE is built upon the Pin dynamic binary instrumentation system and the XED encoder decoder. Pin controls the execution of an application. Pin examines each static instruction in the application approximately once, as it builds traces for execution. During this process, which is called instrumentation, for each instruction encountered Pin asks Intel® SDE if this instruction should be emulated or not. If the instruction is to be emulated, then Intel® SDE tells Pin to skip over that instruction and instead branch to the appropriate emulation routine. It also tells Pin how to invoke that emulation function, what arguments to pass, etc.

Intel® SDE queries CPUID to figure out what features to emulate. It also modifies the output of CPUID so that compiled applications that check for the emulated features are told that those features exist.

Intel® SDE comes with several useful emulator-enabled Pin tools and the XED disassembler:

  • The basic emulator capable of running workloads with new CPU features.

  • Various binary instrumentation based analysis tools such as the mix histogramming tool, ASCII debug tracing analysis tool, and many more

  • Transparent application debugging allows for debugging your emulated application on the system debugger.

  • Recording and deterministic replaying of single threaded and multithreaded workloads.

  • The XED command line tool which can disassemble PECOFF or ELF binary executables

Indices and tables