Intel® Software Development Emulator (Intel® SDE) — Intel® SDE documentation

# 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

Intel® SDE User's Manual:

- Licensing
- Installing Intel® SDE
- Getting Started
- Controlling the Emulation
  - CPUID Emulation
  - Control Flow Enforcement Technology
  - Running Applications with TSX
- Analysis Tools
  - Controlling Output File Names
  - Chip Check Feature
  - Checking for Bad Pointers and Data Misalignment
  - The Controller
  - Counting Instructions
  - The Histogram Analysis Tool - Mix
  - Measuring Memory Footprint
  - Instruction Trace Tool
  - The Debug ASCII Tracing Tool
  - Mask Profiler
  - Sparse Instructions Analysis Tool
  - Detecting AVX-SSE Transitions
  - Using SSC Marks
- Record and Replay
  - Generating Pinballs with the Logger
  - Replaying Pinballs with the Replayer
- Application Debugging
  - Debugging Applications on Linux
  - Debugging Applications on Windows

# Indices and tables

- Index

- Module Index

- Search Page