Intel® VTune™ Profiler Release Notes and New Features

ID 标签 852986
已更新 11/20/2024
版本
公共

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

This page provides the older Release Notes' for Intel® VTune™ Profiler (starting with Intel® VTune™ Amplifier XE 2017). The notes are categorized by major version, from newest to oldest, with individual releases listed within each version section.

Refer to latest Release notes Page of the most recent version of Intel® VTune™ Profiler.

NOTE: Intel® VTune™ Amplifier has been renamed to Intel® VTune™ Profiler starting with version 2020.

Click a release to expand it into a summary of new features and changes in that version since the last release. The expanded summary also contains download buttons for the detailed release notes, which include important information, such as pre-requisites, software compatibility, installation instructions, and known issues.

You can copy a link to a specific release's section by clicking the chain icon next to its name.

The installation guides are posted separately.
View Installation Guide

All files are in PDF format - Adobe Reader* (or compatible) required.
To get product updates, log in to the Intel® Software Development Products Registration Center.
For questions or technical support, visit Intel® Software Developer Support.

2024

New in the Release 

New Language Support

  • Added support for Python 3.11

New Hardware Support

  • ARL-S
  • MTL-P

Intel® Core™ Ultra 200V Support

  • Added support for Intel® Core™ Ultra 200V, previously codenamed Lunar Lake and next-gen Intel(R) Arc(TM) Graphics, codenamed Battlemage

Technical Preview Feature: New "Bottlenecks View"

  • Get a high-level view of potential bottlenecks in software performance analysis before exploring top-down microarchitecture metrics for deeper analysis
  • Currently supports 5th Gen Intel® Xeon® processors (code-named Emerald Rapids), 4th Gen Intel® Xeon® Scalable processors (code-named Sapphire Rapids), and the Intel® Xeon® CPU Max Series (code-named Sapphire Rapids HBM).

oneCCL in Application Performance Snapshot

  • Get insights into sub-optimal oneCCL communication in your applications by finding out the time spent in oneCCL calls and identifying most active oneCCL communication tasks in your application.

oneCCL in GPU and HPC-PC Analysis

  • View the top CCL function

.NET8 Support for new Intel Architectures

  • Added support for .NET 8 and new Intel architectures code named  Sierra Forest and Grand Ridge.

GPU Support

  • Improved finalization time for collecting GPU HW metrics for a specific tile.  

Intel® Data Center Max 1100C GPU

  • A 300-watt double-wide AIC card with 56 Xe cores and 48 GB of HBM2E memory. Multiple cards can be connected via Intel Xe Link bridges.  This card is specifically designed to meet the requirements of US Government Export Control Regulations for export into China.

Application Performance Snapshot

  • Xe Link observability
    Added two Xe Link related metrics to APS summary with average cross-GPU traffic bandwidth through Xe Links. It shows the average value per-node/per-gpu. It is also possible to get the value through CLI metrics report attributed to the device.

Hardware Support 

  • Support for 5th Gen Intel® Xeon® Server Processors (code named Emerald Rapids)
    Includes I/O analysis support
    Enabled Platform Diagram
    OS Support

Fedora* 38 and 39

  • Ubuntu* 23.04
  • SUSE* Linux* Enterprise Server (SLES) 15 SP5
  • Windows* 11 23H2 

 

Known Issues

  1. VTUNE 2024.2 DISPLAYS INCORRECT "INSTANCE COUNT" FOR GPU-OFFLOAD ANALYSIS (VASP-31110) This only affects the value for "instance count" in the Bottom-Up view for GPU Computing Tasks. The "instance count" in the GPU Compute/Media Hotspots is correct.
  2. VTUNE 2024.1 REQUIRES LIBCRYPT.SO.1 INSTALLATION TO RUN APPLICATIONS
  3. VTUNE 2024.1 IT IS RECOMMENDED TO USE THE LATEST TESTED NPU DRIVER TO RUN "NPU EXPLORATION (PREVIEW)" ON INTEL® CORE™ ULTRA PROCESSORS SERIES 1 (FORMERLY METEOR LAKE) It is recommended to run "NPU Exploration (preview)" on Intel® Core™ Ultra processors Series 1 (formerly Meteor Lake) with the latest tested NPU driver version 32.0.100.2222, note that DDR bandwidth metrics may not be displayed in "Time-based" collection mode. The last NPU driver version where DDR bandwidth metrics work correct in "Time-based" collection mode is 31.0.100.2055. NPU Exploration (preview) analysis type doesn't support  Windows 11 Version 24H2 Insider Preview
  4. VTUNE 2024.1 MAY HAVE INCORRECT WINDOWS VERSION SHOWN ON SUMMARY TAB (VASP-20172)​​​​​​ VTune Profiler may show incorrect Windows version in Collection and Platform Info section on Summary Tab
  5. VTUNE PROFILER 2024.0 IS INCOMPATIBLE WITH glibc 2.37-13 ON FEDORA OS

  6. VTUNE PROFILER 2024.0 PREVIOUSLY COLLECTED PLATFORM PROFILER RESULTS CANNOT BE OPENED WITH VTUNE GUI DUE TO SEPARATION FROM VTUNE PACKAGE

    Results previously collected with VTune Platform Profiler (VPP) can no longer be opened in the VTune GUI as the platform profiler has been separated from the primary VTune product.

  7. VTUNE PROFILER 2024.0 MODULEFILE INCORRECTLY DERIVES COMPONENT ROOT PATH AS "/" 
    The modulefile included with VTune Profiler 2024.0 incorrectly derives the component root path as "/". This file is located at:

    <install-dir>/vtune/2024.0/etc/modulefiles/vtune/2024.0
    Workarounds for this issue include:

    1. Click vtune-2024-fix.tcl to download the fixed tcl file and replace the existing 2024.0 file. 

    2. Instead of using "module load" to set up the environment variables, run:

    $ source <install-dir>/vtune/latest/vtune-vars.sh

  8. VTUNE PROFILER 2024.0 HBM AND TMA METRIC LIMITATION (DOC-11651)

    The HBM Bound metric (in Microarchitecture Exploration, Memory Access, and HPC Performance Characterization) is only functional in HBM cache mode. The metric may not show a proper value in the HBM only and HBM flat modes.

2023

New in the Release

Release

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in the following areas:

GPU Accelerators  

  • Better Hardware observability in the Platform Diagram.
    Identify Intel® Data Center GPU Max Series (formerly codenamed Ponte Vecchio) observability in the platform diagram.           

Application Performance Snapshot

  • Analyze the performance utilization of a particular GPU in the stack using Application Performance Snapshot.
    For each GPU, get insights into how much time is used for offload tasks and how the execution units are utilized.

Language Support 

  • Support for New Language Versions
    This release introduces support for Python 3.10.* in the Hotspots Analysis type for Windows and Linux systems.
    Explore performance analysis for .NET7 applications or native applications with .NET calls.

Intel® VTune™ Profiler - Platform Profiler 

  • Starting with the 2023.2 release, the Intel® VTune™ Profiler - Platform Profiler is available as a standalone application only.  
    The Platform Profiler analysis will no longer be available through the VTune Profiler GUI or command line. You can still collect platform behavior data by running the standalone application: Intel® VTune™ Profiler User Guide. The data collected with the Platform Profiler collector can be visualized with the Platform Profiler server.

Hardware Support 

  • Better Hardware observability in the Platform Diagram 
     Identify average HBM bandwidth on Intel® Xeon® Max Series CPUs (code named Sapphire Rapids HBM) in the platform diagram separately from DRAM bandwidth. 

Usability 

  • Intel VTune Profiler now allows for filtering kernels by name.  
    This is especially useful for applications that has many kernels, such as Gromacs, LAMPS etc.
  • GPU Adapter names will be replaced by short GPU Aliases.  
    • GPU Adapter names will be replaced by aliases in Summary, Grid and Timeline
    • Collection and Platform Info section will contain full names for GPU adapters, their BDFs and aliases.
    • The aliases will be stable: the same GPU adapters will have the same aliases for all results that are collected on the machine.
    • The alias should have the following format: "GPU 0", "GPU 1", "GPU N"

Release

GPU Accelerators  

  • Support XeLink cross-card traffic profiling
    Get visibility into XeLink cross-card traffic for issues such as stack-to-stack traffic, throughput and bandwidth bottlenecks. Identify  imbalances of traffic between CPU and GPU through a GPU topology diagram.           

Debug Support 

  • Support for Large PDB Files 
    Starting with the 2023.1 version, on Windows* systems, you can resolve debug information from PDB files larger than 4GB. 

OS Support

  • Support Windows* 10 22H2 and Windows 11 22H2. 
  • Intel® VTune Profiler for macOS is now deprecated and will be discontinued in a future release. Learn other options to view results on macOS.

Hardware Support 

  • Support for New Architectures 
     VTune Profiler now supports the following generations of processors in client and server platforms: 
    • Intel® Xeon® Max Series CPUs (code named Sapphire Rapids HBM) 
      • Identify performance gained from HBM. Run Intel® VTune Profiler for each mode (HBM only, Flat, Cache) to identify which profile offers the best performance.

 

Known Issues

  1. VTUNE PROFILER 2023.2 KERNEL PANIC WHEN RUNNING HARDWARE-BASED SAMPLING COLLECTIONS ON FEDORA DISTRIBUTIONS RUNNING LINUX KERNEL VERSION 5.17 OR LATER (VASP-29437)
    For some hardware-based analysis types, particularly Memory Access and Microarchitecture Exploration, VTune may cause a kernel panic on systems with Fedora distributions running Linux kernel version 5.17 or later. This has been fixed for the upcoming release. To work around this problem, unload the VTune sep driver by running:
    $ sudo <VTune install dir>\latest\sepdk\src\rmmod-sep
    This will prevent VTune from using the problematic driver and use Linux Perf instead.
  2. VTUNE PROFILER 2023.2 GPU ANALYSIS MAY FAIL WITH INTEL DATA CENTER GPU MAX SERIES (CODE NAME PONTE VECCHIO) With the recent GPU software stack (starting with agama-ci-devel-679 and newer) some VTune 2023.2 GPU analyses may fail with Intel® Data Center GPU Max Series (PVC). Affected analysis types are: GPU Offload analysis and GPU Compute\Media Hotspots analysis in "Compute Basic" mode.
    Corresponding command lines for the analyses:
    vtune -collect gpu-offload (default mode)
    vtune -collect gpu-hotspots -knob characterization-mode=global-local-accesses (non-default mode)
    The displayed error message would be the following:
    vtune: Warning: Cannot start collection of GPU events
    vtune: Collection failed
    vtune: Internal Error
    To avoid the failure, a user should remove or comment out lines #38 and #39 in VTune configuration script: <VTUNE_INSTALL_DIR>/config/analysis_type/include/gpu_metric_sets.xsl:
    <item>HOST_TO_GPUMEM_BYTE_READ</item>
    <item>HOST_TO_GPUMEM_BYTE_WRITE</item>
    It is recommended to save the original script in the same directory and restart the VTune GUI if it's running on a target machine.
  3. VTUNE PROFILER 2023.2 PLATFORM PROFILER DOESN'T SUPPORT 12TH GEN INTEL CORE PROCESSORS (CODE NAMES ALDER LAKE AND RAPTOR LAKE) (VASP-29214)
  4. VTUNE PROFILER 2023.2 IMPORTING PLATFORM PROFILER DATA FROM 8th GEN INTEL CORE PROCESSORS (CODE NAME COFFEE LAKE) FAILS WITH THE PLATFORM PROFILER SERVER (VASP-29198)
    This is one known issue on 2023.2, may be fixed in future release.
    • Importing valid result data into the Platform Profiler server (both on Linux and on Windows 11) fails with no obvious error message to the user.
    • Server log contains the following message: Load failed on dataset. Dataset has no emon_results_metrics file and no formula file.
  5. VTUNE PROFILER 2023.2 EMON DATA IS NOT PROPERLY LOADED ON HYBRID PLATFORMS (DOC-11343)This is one known issue on 2023.2, will be fixed in future release. A workaround is available. 
    VTune does not load EMON data properly from hybrid system where events are not applicable to both core types. 
    • The issue is currently observed on Windows OS only and not reproduced on Linux.
    • The Performance Snapshot and Microarchitecture Exploration analysis types in summary mode are impacted.
      ​​​​​As a workaround, run the collection in the command line with the following option: --run-pass-through=--aggregated-counting
      For example, to run the Performance Snapshot analysis on the matrix sample, run: > vtune -collect performance-snapshot --run-pass-through=-aggregated-counting -- matrix.exe
  6. VTUNE PROFILER 2023.2 MAX DRAM BANDWIDTH ESTIMATION MAY BE CALCULATED INCORRECTLY ON PLATFORMS WITH HBM (VASP-29158) The estimation of max DRAM bandwidth value is incorrect on platforms with HBM in flat mode.
  7. VTUNE PROFILER 2023.1 USER MODE SAMPLING FAILS WITH APPLICATION LINKED WITH GLIBC 2.35 (VASP-28157) This is one known issue on 2023.1,  will be fixed in future release.
    • Hotspots and threading user mode sampling and memory access / consumption, and I/O analysis types with sep sampling will fail when application is linked with glibc 2.35 on Ubuntu 22.04. 
    • All cases using Perf and VTSS succeed with this application.
    • Other than the I/O, Memory Access, and Memory Consumption, all cases using SEP also succeed.
  8. VTUNE PROFILER 2023.1 HARDWARE EVENT-BASED SAMPLING FAILS *PATCH AVAILABLE* (VASP-28956) This is a known issue in the SEP driver packaged with update 2023.1, and will be fixed in a future release. The problem was reported on SLES15 SP4 but could happen on other Linux distros. A standalone SEP patch with the fix is available here: Intel® VTune™ Profiler Sampling Driver Downloads 
    On certain workloads, the issue is seen after the 3rd or 4th runs, and on some systems it is observed in the 1st or 2nd run. One of the following behaviors is observed randomly with each failure:
    • making the system go unresponsive and rebooting
    • system hangs in between
    • aborts the workload in the middle of collection and exits VTune

2022

 

 2021

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in these areas:

User Interface

  • Rich Metric Tooltips in Multiple Analyses
  • Detection of Compilation with Low Optimization Level in Hotspots Analysis
  • Platform Diagram Extended with Persistent Memory Block
  • Changes to Viewpoint Selection

Analysis Targets

  • Extended FreeBSD* OS Support

Platform Analyses

  • CPU Throttling Data in System Overview Analysis

Architecture Support

  • Analysis Support for Intel® microarchitecture code named Alder Lake

Intel® VTune™ Profiler Server

  • New Capabilities for Account and Privilege Handling

Accelerators

  • Host-GPU Bandwidth Information in GPU Offload Analysis
  • PCIe Bandwidth Information in Custom and Command Line Runs of GPU Offload Analysis
  • Improvements to Peak Occupancy Metric
  • Support to Trace DirectX API on CPU Host
  • Data Collection of CPU Host Stacks
  • Enhancements to GPU Offload Summary

Release Notes

Overview

This version of Intel® VTune™ Profiler contain improvements and additions in these areas:

Analysis Targets

  • Extended Support for .NET5 Workloads
    You can now analyze .NET5 workloads in Attach to Process mode when using Hardware Event-Based Sampling.
  • Support for Unified Shared Memory Workloads
    You can profile OpenCL, SYCL, and DPC++ applications that use Unified Shared Memory (USM) workloads.
  • Input and Output Analysis on FreeBSD* OS
    You can now run the Input and Output analysis on remote FreeBSD targets. Analysis scope is limited to platform-level metrics.

Accelerators

  • Hottest CPU Tasks in GPU Offload Analysis
    The Summary view in the  GPU Offload Analysis now includes the Hottest Host Tasks table, which displays the most active tasks running on the CPU.
  • Support for Affinity Mask
    If you use the ZE_AFFINITY_MASK variable to bind your workload to a single tile, VTune Profiler can then attribute kernels to the correct tile and also display relevant metrics per kernel.

Code Annotations

  • New Instrumentation and Tracing Technology API Capabilities
    A new Histogram API was added to ITT API. This API enables you to collect arbitrary histogram data without extra overhead.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in these areas:

Algorithm Group

  • Flame Graph View in Hotspots Analysis
    This version of Intel® VTune™ Profiler introduces support for Flame Graphs in the Hotspots analysis type. The Hotspots by CPU Utilization viewpoint has been enhanced with a Flame Graph window that displays a graphical view of hot code paths.

Debug Formats

  • Support for DWARF 5 Debug Format
    Intel® VTune™ Profiler now supports version 5 of the DWARF debug format. You can now use debug information in DWARF 5 format to resolve function names and source locations for binaries.

GPU Accelerators

  • CPU Context for GPU Execution in GPU Offload Analysis
    The GPU Offload Analysis now presents a richer set of information about execution on the GPU by including context from the CPU.
    This includes stack information on:
    • Execution
    • Data transfer from host to device
    • Data transfer from device to host
  • Analysis of Multiple GPUs
    When you have multiple GPUs connected to your system, you can now analyze all of the GPUs collectively with the GPU Offload and GPU Compute/Media Hotspots analyses.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in these areas:

Command Line Analysis

  • Perf Tool Parameters for All Analysis Types
    You can now use the target-system command to get parameters on the command line for the native perf tool for all analysis types including custom analyses.

GPU Accelerators

  • Occupancy Report in GPU Hotspots Analysis
    The GPU Compute/Media Hotspots analysis has been enhanced to display occupancy information in the Summary section.

Microarchitecture Analyses

  • Platform Diagram in Memory Usage View
    This release introduces the Platform diagram in the Memory Usage viewpoint of the Memory Access analysis type.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in these areas:

Intel® VTune™ Profiler – Platform Profiler as Analysis Type

  • Platform Profiler has been completely integrated into Intel® VTune™ Profiler as an analysis type.

Application Performance Snapshot

  • Outlier Detection
    A new mechanism for the detection of outliers, or individual metric values that contribute to an average metric that differ significantly from the overall distribution or break a certain threshold.
  • Metric Tooltip Enhancements
    Metric tooltips now visualize ranges of average metrics, with their minimum, maximum, and average contributing values.

MPI Applications Support

  • Support for MPI applications in GPU and IO analyses
    The GPU Offload, GPU Compute/Media Hotspots, and Input and Output analyses now support profiling of MPI applications, as described in the MPI Code Analysis topic.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in the following:

Improvements to Vectorization Information

  • The Vectorization sections of Performance Snapshot and HPC Performance Characterization analyses have been enriched to provide a clearer picture of the state of vectorization in your application.

Support for the 3rd Gen Intel® Xeon® Scalable processors (code name Ice Lake Server)

  • This release introduces full support for the Ice Lake Server architecture in the Input and Output analysis.

GPU Analyses Improvements

  • Advanced Data Transfer Information in GPU Offload
  • Advanced analysis of Low occupancy problems for GPU computing tasks

Project Navigator User Experience

  • The Project Navigator pane now features menu options to open a new or existing project to better facilitate your VTune™ experience.

GPU Analysis Coverage for Self-Check

  • Coverage of checks by the self-check functionality in VTune™ Profiler now includes GPU analyses as wel.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in the following:

Application Performance Snapshot:

  • Rich metric tooltips in HTML reports 
  • PCIe bandwidth info in CLI reports
  • New reports and filters

Support for Code Targets

  • Support for running the Hotspots analysis on .NET 5 targets in Launch Application mode when using hardware event-based sampling.

Hardware Support

  • Support for Intel processor architecture code named Ice Lake Server including Microarchitecture Exploration Analysis.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in the following:

User Interface:

Introduced a new main vertical toolbar to enhance user experience.

Hardware Support 

Support for Intel Atom® Processor P Series code named Snow Ridge, including Hotspots, Microarchitecture Exploration, Memory Access, and Input and Output analyses.

GPU Accelerators 

Source-level analysis for DPC++ and OpenMP applications running on GPU over Level Zero.

Input and Output Analysis 

New major features in Input and Output analysis:

Release Notes

Overview

Intel® VTune™ Profiler has been updated to include more recent versions of 3rd party components, which include functional and security updates. Users should update to the latest version.

GPU Accelerators:

  • GPU Adapter Selection for Profiling Analyses in Multi-GPU Systems
  • Energy Consumption Metrics in GPU Compute/Media Hotspots Analysis

FPGA Accelerators:

  • Multiple enhancements to CPU/FPGA Interaction Analysis

Energy Analysis:

  • Rootless Data Collection on Linux Systems

 2020

Release Notes

Overview

Intel® VTune™ Profiler has been updated to include more recent versions of 3rd party components, which include functional and security updates. Users should update to the latest version.

Hardware Support:

  • Added support for 11th Gen Intel® Core™ processors codenamed Tiger Lake, including Hotspots, Microarchitecture Exploration, Memory Access, and GPU analyses.

Input and Output Analysis:

  • Source-level Memory Mapped I/O (MMIO) analysis now supports InfiniBand devices.

Profiling Applications Annotated with ITT API:

  • Profiling of applications annotated with ITT API has been enhanced by the introduction of additional Average Task Time and Average Frame Time metrics. 

Profiling Remote Amazon Web Services* Instances:

  • Added support for remote profiling of applications running in Amazon Web Services* (AWS) EC2 instances.

 

Release Notes

Overview

Intel® VTune™ Profiler has been updated to include more recent versions of 3rd party components, which include functional and security updates. Users should update to the latest version.

Performance Snapshot analysis type for quick summary:

  • This release introduces the Performance Snapshot analysis type. Start with this analysis and get a quick overview of issues that affect your application performance. Performance Snapshot characterizes the workload on the system. It also provides recommendations for next steps to help you select other analyses for deeper profiling.

Platform Analysis:

  • Platform I/O metrics can now be attributed to individual devices managed by Intel® VMD technology
  • I/O Analysis has been enhanced for Sky Lake and Cascade Lake servers by highlighting code potentially performing MMIO reads

New hardware/operating systems/IDEs support:

  • Support for Intel’s processors code named Cooper Lake and Comet Lake
  • Ubuntu* 20.04, Fedora* 32
  • Microsoft* Windows* 10, May 2020 Update

Deprecation:

  • We recommend that Storage Snapshot users switch to using the Platform Profiler feature of Intel® VTune™ Profiler. It provides a more informative set of data with a similar low overhead. We are deprecating Storage Snapshot and will discontinue it in our next major release.
  • Preview of Input and Output analysis on Windows* is deprecated and will be removed in a future release. This analysis continues to be supported on Linux* OS.

Release Notes

Overview

This version of Intel® VTune™ Profiler contains improvements and additions in these areas:

  • Microarchitecture Exploration analysis is now supported on Intel processors codenamed Icelake.
  • GPU accelerators support:
    • GPU Compute/Media Hotspots analysis in the Dynamic Instruction Count mode has been extended to include SIMD utilization metrics at the kernel and instruction level. These metrics help identify instructions in the OpenCL™ kernel that utilize SIMD poorly.
    • A deeper GPU utilization analysis has been introduced in Application Performance Snapshot (APS) and the HPC Performance Characterization analysis. The GPU utilization analysis now includes these GPU computation metrics:
      • GPU Time
      • GPU IPC
      • GPU Utilization
      • % of Stalled and Idle EUs.
    • There is now a simplified dependency on the Intel® Metric Discovery API library to collect GPU hardware statistics on Linux* systems. VTune Profiler now automatically selects the latest libstdc++ available in runtime to satisfy the GPU analysis requirements. For older versions of the product, follow procedures to enable manual configuration.

Platform analysis improvements:

  • CPU/FPGA Interaction analysis has been extended to process data sources collected either with AOCL Profiler (new mode) and via OpenCL Profiling API (legacy mode). Specify the name of your application target and its parameters directly in the WHAT pane.
  • The Hardware Tracing mode in the System Overview analysis has been extended to include new metrics to make the analysis more kernel-aware:
    • OS Kernel Activity and OS Scheduling metrics identify anomaly issues caused by unexpected kernel activity or preemptions.
    • The CPU Time metric has been split to User Time and Kernel Time metrics to show the number of kernel mode switches and their frequency (switches per second).
  • A new Module Entry Point grouping level has been added to the System Overview viewpoint to display data collected in the Hardware Tracing mode. The grouping shifts the focus to precise CPU time spent within sys calls, interrupts or within particular API of the runtime library.

 

Release Notes

Overview

  • There is a new, more descriptive name: “Intel® VTune™ Profiler” (formerly “Intel® VTune™ Amplifier).
    • Command line interface amplxe-cl and GUI interface amplxe-gui were re-named to vtune and vtune-gui respectively
  • Intel® VTune™ Profiler has been updated to include more recent versions of 3rd party components, which include functional and security updates. Users should update to the latest version.
  • GPU accelerators support:
    • New GPU Offload analysis added to explore and correlate code execution across CPUs and GPUs. You can identify a kernel of interest for GPU-bound applications and explore further with GPU Compute/Media Hotspots analysis.
    • GPU Compute/Media Hotspots analysis updated with GPU in-kernel analysis for OpenCL™ code and an option to filter by a kernel of interest.
    • Command line hotspots report now supports GPU analysis types. You can apply the computing-task and computing-instance groupings to your collected data to focus on time-intensive computing tasks.
    • Dynamic instruction count collection (available as part of the GPU Compute/Media Hotspots Analysis) improved to provide better accuracy for basic block Assembly analysis.
    • Support for Intel® Processor Graphics Gen11.
  • Platform analysis support:
    • System Overview analysis updated to serve as an entry point to platform analysis. Use this analysis to assess system (IO, accelerators and CPU) performance and review guidance for next steps.
    • New Hardware Tracing mode in the System Overview analysis enables application analysis on the micro-second level and identification of causes for latency issues.
  • HPC analysis improvements:
    • Max and Bound Bandwidth metrics added to Application Performance Snapshot to better estimate the efficiency of the DRAM, MCDRAM, Persistent Memory and Cornelis Networks usage.
  • Platform Profiler new features and improvements:
    • Overview and Memory views extended with new metrics to analyze Non-Uniform Memory Access (NUMA) behavior.
    • User authentication and authorization implemented to enable access control to user data.
    • Added a new option for users to choose or modify the location of Platform Profiler data files.
  • Energy analysis improvements:
    • New Throttling analysis added to identify causes for system throttling, including violation of safe thermal or power limits.
    • Options for Energy analysis, based on the Intel SoC Watch data collector, extended to monitor processor package energy consumption over time and identify how it correlates with CPU throttling.
  • Cloud and containerization support:
    • Containerization support extended with an option to install and run VTune™ Profiler in a Docker* container and profile targets inside and outside the same container.
    • Added support to profile applications running in Amazon Web Services* (AWS) EC2 Instances based on Intel microarchitecture code name Cascade Lake X.
  • New Fabric Profiler performance tool added to VTune™ Profiler in Preview mode. Use Fabric Profiler to identify detailed characteristics of the runtime behavior for an OpenSHMEM application.
  • Quality and usability improvements:
    • Symbol resolution for effective source-level analysis enabled for crossgen (Ahead-of-JIT compilation) functions on Linux* systems.
    • Interactive Help Tour (available on the Welcome page) guides you through the product interface using a sample project.
  • New hardware/operating systems/IDEs support:
    • 10th Gen Intel® Core™ processors
    • Ubuntu* 19.10
    • Microsoft* Windows* 10, November 2019 Update

 

2019

Release Notes

Overview

  • Bug fixes and security updates.
  • Intel VTune Amplifier has been updated to include more recent versions of 3rd party components, which include functional and security updates. Users should update to the latest version.

No public release of Update 7 is available for Intel VTune Amplifier.

Release Notes

Overview

  • Bug fixes and security updates.

Release Notes

Overview

  • Relaxed limitations on collecting GPU hardware metrics for users without Administrator/root privileges.
  • Added support for HW-based analysis on systems running under Hyper-V.
  • Microarchitecture analysis improvements:
    • Relaxed limitations for the Perf* driverless collection on Linux for users with perf_event_paranoid value set to 2. For such environments, event-based sampling is supported in the user space.
    • Memory Access analysis updated with a new UPI Utilization metric for Intel microarchitectures code named Cascade Lake and Skylake.
  • Application Performance Snapshot improvements:
    • Max and Bound metrics added to estimate the efficiency of the DRAM, MCDRAM, and Persistent Memory usage.
  • Quality and usability improvements:
    • Interactive Help Tour available from the Welcome page and guiding you through the product interface using a sample project.
    • Simplified configuration of a Windows-to-Linux remote collection supporting automated password-less access to a Remote Linux (SSH) target.
  • Platform Profiler improvements:
    • Enhanced system overview including CPU and memory utilization summary, CPU I/O Wait information (Linux) and CPU utilization breakdown for key CPU-stall reasons
    • Initial implementation of a custom view that allows users to specify the metrics to be visualized
    • Full support for Intel® Optane™ DC Persistent Memory metrics on 2nd Generation Intel® Xeon® Scalable Processor server platforms (formerly Cascade Lake).
    • A simplified and consistent command line interface for collecting data (the previous command line interface is supported for backward compatibility).
    • A simplified and consistent command line interface for collecting data that conforms better to CLI conventions. The previous command line interface is supported for backward compatibility. See the Intel® VTune™ Amplifier User Guide for more details.
  • Support for new operating systems:
    • Android Q
    • Red Hat* Enterprise Linux* 8
    • Fedora* 30

NOTE: 32 bit OSs are deprecated in 2019 version and support will be removed in upcoming release. VTune™ can still profile 32 bit applications on 64 bit OSs (cross mode).

Release Notes

Overview

  • GPU analysis improvements:
    • Inline Mode filter option added to GPU In-Kernel Profiling viewpoint, to display GPU-side call stacks with OpenCL™ inline functions and correctly attribute GPU Cycles statistics per function. By default, Inline Mode is switched off.
    • Source/Assembly analysis available for OpenCL programs created with IL (intermediate language), if the intermediate SPIR-V binary was built with the -gline-tables-only -s option.
    • (PREVIEW) New Instruction Count profiling mode added to the GPU In-Kernel Profiling to analyze GPU instructions executed by an OpenCL kernel and classified per instruction type. This mode helps you compare the performance of the same OpenCL kernel on different hardware or explore instruction count for different implementations of the same algorithms on the same hardware.
  • Microarchitecture analysis improvements:
    • Default driverless mode for hardware event-based collections with stacks, such as Hotspots and Threading. Driver-based collection can still be run by setting the "Stack size" option to the unlimited value (0) or disabling the "Enable driverless collection" option in a custom analysis.
    • The Precise column added to the Summary of the Hardware Events viewpoint to clearly identify precise events. Using precise events in your configurations provide more accurate Assembly analysis with no event skids.
  • Quality and usability improvements:
    • Improved integration with the Microsoft* Visual Studio* IDE with a quick access to VTune Amplifier options via a smart integrated Welcome page.
    • Overlay help with quick tips for the Bottom-up tab highlights important interface elements to efficiently manage analysis data.
    • Added Linux kernel 5.0 support

Release Notes

Overview

  • Support for Intel® Optane™ DC persistent memory and the latest microarchitecture code-named Cascade Lake. This includes new hardware event support and enhanced memory analysis to design and optimize for the new persistent memory technology.
    Learn more about the next generation of memory.
  • Resolve performance bottlenecks where network workloads are consuming high I/O bandwidth. Enhanced PCIe device metrics for I/O traffic in the Input and Output analysis help you understand the interactions between Cores and Network Interface Cards (NICs).
  • MPI improvements:
    • Easier control of data collection for MPI applications using the standard MPI_PControl API. Collect only the data you need with a few quick changes and no dependency on the ITT API.
    • Easier MPI communication pattern diagnosis with Application Performance Snapshot’s rank to rank communication diagram by message volume.
  • Usability improvements:
    • Friendlier welcome page provides fast access to technical content and project controls.
    • Improved importing process for traces and result files. It’s now possible to import whole result directories to a project and use project search directories for symbol and source/assembly resolution.
    • Simplified installation and licensing (serial numbers and license files are no longer required for this product).

Release Notes

Overview

  • Intel® VTune™ Amplifier 2019 Update 2 includes functional and security updates. Users should update to the latest version.
  • Microarchitecture analysis improvements:
    • Configuration for the Microarchitecture Exploration analysis optimized to provide you with the control over collected hardware metrics and data collection overhead in general. By default, the analysis provides you with a full set of top-level hardware metrics and their sub-metrics that show how your code uses hardware resources. With a new configuration option, you can choose to narrow down the scope and collect sub-metrics only for the selected top-level metrics.
  • System Analyzer tool for monitoring real-time metrics on a target system added to the VTune Amplifier as a PREVIEW feature.
  • HPC workload profiling improvements:
    • Full-featured support of OpenMPI targets in Application Performance Snapshot
    • Vectorization metrics streamlined for the HPC Performance Characterization analysis
    • PREVIEW: HTML report added to show process/thread affinity along with CPU execution and remote access information
  • Supported managed Linux and Windows targets with tiered compilation for .NET* Core 3.0 Preview 1 and .NET Core 2.2
  • Quality and usability improvements:
    • Improved support for standalone command-line results imported into a VTune Amplifier GUI project. Search directories specified in the command line configuration are preserved and applied for proper module resolution in the graphical viewpoints.

Release Notes

Overview:

  • Threading analysis extended with the lower overhead hardware event-based sampling mode. This mode helps analyze an impact of thread preemption and context switching. On Windows*, this analysis configuration requires the sampling driver. On Linux*, the analysis is available both with the sampling driver and with the Linux Perf* collector for kernels 4.4 and higher.
  • Quality and usability improvements:
    • summary command line report for the Hotspots analysis enriched with metrics and Top 5 Hotspots table that is also available from the GUI Summary view.
    • A sample matrix project added to the Project Navigator to help you get started with the product, review a sample pre-collected Hotspots result, and test other analysis types and source view options. A pre-built version of the matrix sample application and associated source files are available installed with VTune Amplifier.
    • Support for Linux Perf* collection extended with VTune Amplifier metrics with a further option to import the Perf trace to the VTune Amplifier GUI and benefit from predefined viewpoints. This solution could be useful for performance analysis in data centers)

Release Notes

Overview:

  • New, easier tuning workflow and simplified setup
  • New Platform Profiler. Longer data collection finds hardware configuration issues and poorly tuned applications.
  • Application Performance Snapshot adds utilization of logical vs. physical cores, pause and resume and Intel Trace Analyzer and Collector integration

2018

Release Notes

Overview:

  • Support for new operating systems:
    • SUSE* Linux* Enterprise Server (SLES)12 SP3, SUSE* Linux* Enterprise Server (SLES)15
    • Red Hat* Enterprise Linux* 6.10
    • Fedora 28
    • Microsoft Windows* 10 RS4

 

Release Notes

Overview:

  • Analysis on embedded platforms and accelerators:
    • New CPU/FPGA Interaction analysis (PREVIEW) to assess the balance between the CPU and FPGA on systems with a discrete Intel® Arria® 10 FPGA running OpenCL™ applications
    • New Graphics Rendering analysis (PREVIEW) for CPU/GPU utilization of your code running on the Xen* virtualization platform installed on a remote embedded target
    • Support for the sampling command-line analysis on remote QNX* embedded systems via ethernet connection
  • HPC workload profiling improvements:
    • CPU Utilization metric refined to differentiate the utilization on logical vs. physical cores, which is particularly important for HPC applications running on Intel® Xeon® processor family processors
  • Managed runtime analysis improvements:
    • Extended JIT profiling for server-side applications running on the LLVM* or HHVM* PHP servers to support the event-based sampling analysis in the attach mode
    • Extended Java* code analysis with support for OpenJDK* 9 and Oracle* JDK 9
    • Enabled Advanced Hotspots analysis for .NET* Core applications running on Linux and Windows systems in the Launch Application mode
  • Application Performance Snapshot improvements:
    • Added the ability to pause/resume collection with MPI_Pcontrol and itt API. The -start-paused option was added to exclude application execution from collection from the start to the first collection resume occurrence.
    • Enabled selection of which data types are collected to reduce overhead. The choices include MPI tracing, OpenMP tracing, hardware counter based collection, or a combination of the three.
    • Exposed the CPU Utilization metric by physical cores on processors that support proper hardware events.
    • Significantly reduced MPI tracing overhead when there are a large number of ranks.
    • Enriched MPI statistics generated by the aps-report utility by showing information about communicators used in the application and to group and filter collective operations by the communicators.
    • Improved integration with Intel® Trace Analyzer and Collector by adding the ability to generate profiling configuration files with the aps-report option.
  • Quality and usability improvements:
    • Hardware event-based analysis supported for targets running in the Hyper-V* environment on Windows* 10 Fall Creators Update (RedStone3)
  • Support for new operating systems and IDEs including:
    • Fedora*
    • Ubuntu* 17.10

 

Release Notes

Overview

  • Mitigated impact of OS security updates
  • Collect only the data you need with Application Performance Snapshot’s new data selection options and pause/resume API support. Get better answers with lower overhead.
  • Assess the balance between the CPU and FPGA with a new CPU/FPGA Interaction analysis (PREVIEW)
  • CPU utilization for physical and logical cores improves analysis of hyper-threading and thread migration performance effects.
  • Improvements to JIT profiling for server-side applications and support for OpenJDK* 9 and Oracle* JDK 9.
  • Profile .Net Core applications running on Linux* or Windows* systems with Advanced Hotspots analysis
  • Hardware event-based analysis supported for targets running in the Hyper-V* environment on Windows* 10 Fall Creators Update (build 1709)

 

      

Overview

  • Easier tuning of threaded MPI applications. HPC analysis adds enhanced metrics for MPI including MPI imbalance & performance of critical path rank. Application Performance Snapshot merges MPI + Application data, includes richer metrics, and adds MPICH compatibility.
  • Optimize private cloud-based applications. Profile inside Docker & Mesos containers and attach to running Java services and daemons.
  • Easier analysis of remote Linux* systems. Automated install of performance collectors on a remote Linux target.

 

Intel® VTune Amplifier 2018 Release Notes - Windows* / Linux* / macOS*

Intel® VTune™ Amplifier 2018 provides an integrated performance analysis and tuning environment with graphical user interface that helps you analyze code performance on systems with IA-32 or Intel® 64 architectures.

This document provides system requirements, issues and limitations, and legal information.

VTune Amplifier has a standalone graphical user interface (GUI) as well as a command-line interface (CLI).

Intel® VTune Amplifier for macOS* supports viewing of results collected on other OSs. Native collection on macOS* is not currently available.

Please visit our web site for training videos, technical articles, documentation and support: Intel® VTune™ Profiler.

What’s New

Intel® VTune™ Amplifier 2018 Update 1

  • HPC workload profiling improvements:
    • Application Performance Snapshot extended to use the VTune Amplifier sampling driver and Perf* system-wide profiling capability for reducing collection overhead and enabling Average DRAM and MCDRAM bandwidth measurement
    • Application Performance Snapshot's MPI tracing extended to cover applications using MPI_Abort
  • GPU analysis improvements:

  • Quality and usability improvements:

    • New amplxe-self-checker.sh script introduced to validate VTune Amplifier deployment on Linux*. The script launches several representative collections on sample applications to check how your system matches the VTune Amplifier requirements, and shows the diagnostics.
    • Improved accuracy of the Perf*-based driverless sampling collection running on the target system under Xen Hypervisor via enabling the usage of integrated Perf sampling interval

    • Better management of the EBS collection result size via configuration of the CPU sampling interval. Increasing the sampling interval may be useful for profiles with long durations or profiles that create large results. The Duration time estimate option is deprecated.

    • Optimized support for performance profiling on embedded devices with the Yocto Project* without prerequisite installation of the Intel System Studio or a complete version of the VTune Amplifier.

Intel® VTune™ Amplifier 2018

New VTune Amplifier 2018 product combines features originally provided by the Intel VTune Amplifier XE and Intel VTune Amplifier for Systems and also introduces the following new options targeted for both host-based and embedded remote target analysis:

  • Application Performance Snapshot providing a quick look at your application performance and helping understand where your application will benefit from tuning.

    • Performance metrics include MPI and OpenMP* parallelism, memory access, FPU utilization, and I/O efficiency with recommendations on further in-depth analysis.

    • New MPI metrics that help identify top 5 MPI functions by average consumed time and that show resident and virtual memory footprints per MPI rank and per compute node.

    • Support for multiple platforms, including Intel® Xeon® processors code named Skylake.

  • Performance analysis for targets (native and Java* services and daemons) continuously running in LXC*, Docker* and Mesos* containers via the Attach profiling mode and the Advanced Hotspots analysis

  • HPC workload profiling improvements:

    • Enhanced MPI metrics for HPC Performance Characterization analysis that expose scalability bottlenecks for hybrid applications

    • Summary view extended to show top 5 OpenMP* hotspots (functions and loops) executing serially in the primary thread outside any parallel regions

    • Improved insight into parallelism inefficiencies for applications using Intel Threading Building Blocks (Intel TBB) with extended classification of high Overhead and Spin time

    • Increased detail and structure for vector efficiency metrics based on FLOP counters in the FPU Utilization section

    • New MPI Imbalance metric based on MPI Busy Wait time and parallel efficiency for a most awaited rank in the CPU Utilization section

    • New section presenting the data on the hottest loops and functions with arithmetic operations, which enables you to identify which loops/functions with FPU Usage took the most CPU Time

    • Optimized command line analysis flow for the hpc-performance with the summary report that shows metrics for CPU, Memory and FPU performance aspects including performance issue descriptions for metrics that exceed the predefined threshold. To hide issue descriptions in the summary report, use a new report-knob show-issues option.

  • Microarchitecture analysis improvements:

    • Fullscale driverless Memory Access analysis that now provides Average Latency statistics

    • Support for locator hardware event metrics for the General Exploration analysis results in the Source/Assembly view that enable you to filter the data by a metric of interest and identify performance-critical code lines/instructions

    • Summary view of the General Exploration analysis extended to explicitly display the measure for the hardware metrics: Clockticks vs. Pipeline Slots

    • Detailed presentation of bandwidth bottlenecks with the Memory Access summary command line report that now includes new metrics on bandwidth utilization, such as the platform maximum bandwidth, maximum bandwidth observed during analysis, average bandwidth utilization, and % of Elapsed Time with high bandwidth utilization

    • More accurate DRAM Bandwidth Bound metric based on uncore events used to display memory usage statistics for the Memory Access and HPC Performance Characterization analyses

  • Managed runtime analysis improvements:

    • New Memory Consumption analysis for native and Python* Linux targets that monitors RAM consumption over time and helps identify memory objects allocated and released within the analysis run

    • Support for the mixed Python* and native code in the Locks and Waits analysis including call stack collection

  • GPU analysis improvements:

    • GPU Hotspots analysis extended to detect hottest computing tasks bound by GPU L3 bandwidth or DRAM bandwidth

    • New GPU In-kernel Profiling that helps analyze GPU kernel execution per code line and identify performance issues caused by memory latency or inefficient kernel algorithms

    • GPU Hotspots Summary view extended to provide the Packet Queue Depth and Packet Duration histograms for the analysis of DMA packet execution

    • New Full Compute event group added to the list of predefined GPU hardware event groups collected for Intel® HD Graphics and Intel Iris® Graphics. This group combines metrics from the Overview and Compute Basic presets and allows to see all detected GPU stalled/idle issues in the same view.

  • Support for performance analysis of a guest Linux* operating system via Kernel-based Virtual Machine (KVM) from a Linux host system with the KVM Guest OS option

  • Profiling Guided Optimization report generated with the amplxe-pgo-report.sh utility for the Intel® C++ compiler (Linux* only), GCC* and Clang* compiler to improve code optimization

  • Usability improvements:

    • New user-friendly GUI design for the Timeline pane, analysis and target configuration windows

    • Support for hotspot navigation and filtering of stack sampling analysis data by the Total type of values in the Source/Assembly view

    • Automated installation of the VTune Amplifier collectors on a remote Linux target system. This feature is helpful if you profile a target on a shared resource without VTune Amplifier installed or on an embedded platform where targets may be reset frequently.

  • Documentation improvements:

    • VTune Amplifier product help, tutorials, and Release Notes are available online only from the Intel Software Documentation Library in the Intel Developer Zone (IDZ). You can also download an offline version of the product help either from IDZ or from the Intel Software Development Products Registration Center.

    • New Find Your Analysis guide that helps pick your starting point for analysis based on your use case. The guide is available both online - from the product help - and offline - from the product Welcome page.

    • New performance analysis cookbook that contains recipes of identifying and solving the most popular performance problems with the help of VTune Amplifier's analysis types

  • Support for new Intel processors including:

    • Intel® Xeon Phi™ processors (code name Knights Landing and Knights Mill)

    • Intel® Xeon® Processor Scalable family

    • Intel® Atom™ processors codenamed Apollo Lake and Denverton

    • Intel processors codenamed KabyLake

    A full list of supported processors is available from the Release Notes.

  • Support for new operating systems and IDEs including:

    • Ubuntu* 17.04

    • Fedora* 26

    • Debian* 9.0

    • Microsoft Windows* 10 Creators Update (RS2)

    • Microsoft Visual Studio* 2017

    • Support for cross-OS analysis to all license types. Download installation packages for additional operating systems from Intel registration center - user portal

    A full list of supported operating systems is available from the Release Notes.

Hardware Requirements

For an explanation of architecture names, see Code Builds

Processor Requirements

  • For general operations with user interface and all data collection except Hardware event-based sampling analysis:

    • A PC based on an IA-32 or Intel® 64 architecture processor supporting the Intel® Streaming SIMD Extensions 2 (Intel® SSE2) instructions (Intel® Pentium® 4 processor or later, or compatible non-Intel processor).

    • For the best experience, a multi-core or multi-processor system is recommended.

    • Because the VTune Amplifier requires specific knowledge of assembly-level instructions, its analysis may not operate correctly if a program contains non-Intel instructions. In this case, run the analysis with a target executable that contains only Intel® instructions. After you finish using the VTune Amplifier, you can use the assembler code or optimizing compiler options that provide the non-Intel instructions.

  • For Hardware event-based sampling analysis (EBS):

    • EBS analysis makes use of the on-chip Performance Monitoring Unit (PMU) and requires a genuine Intel® processor for collection. EBS analysis is supported on Intel® Pentium® M, Intel® Core™ microarchitecture and newer processors (for more precise details, see the list below).

    • EBS analysis is not supported on the Intel® Pentium 4 processor family (Intel® NetBurst® MicroArchitecture) and non-Intel processors. However, the results collected with EBS can be analyzed using any system meeting the less restrictive general operation requirements.

    • EBS analysis within a virtual machine is available in the following environments virtualizing the on-chip Performance Monitoring Unit (PMU):

      • VMware Fusion* 5 and higher

      • KVM with Linux Kernel 3.2 and QEMU 1.4

      • XEN 4.0 and higher for User Domain (domU)

    Event-Based Sampling and Sampling with stacks data collection is functional inside a virtual machine only for architectural events.

    Please see the Performance Monitoring Unit Sharing Guide for more details on the supported architectural events.

    VTune Amplifier installation detects virtual environment and disable sampling drivers installation to avoid system instability.

    Hardware Event-based Sampling (EBS) analysis runs a driverless sampling collection via Linux Perf* tool.

  • The list of supported processors is constantly being extended. In general VTune Amplifier supports publicly launched Desktop, Mobile, Server and Embedded Processors listed at Product Specifications. For pre-release processor support please file a support request at Online Service Center (Online Service Center).

Processor Requirements for Android Targets

  • 4th Generation Intel® Core™ Processors (based on Intel® Microarchitecture code name Haswell)
  • Intel® Atom™ Z25XX (code name CloverView+)
  • Intel® Atom™ Z34XX (code name Merrifield)
  • Intel® Atom™ Z35XX (code name Moorefield)
  • Intel® Atom™ Z37XX (code name Bay Trail)
  • Intel® Atom™ x7 Z8700 & x5 Z8500/X8400 processor series (code name Cherry Trail)

For collection:

  • The collection utilities make use of the Performance Monitoring Unit (PMU) and Architectural Model Specific Registers (MSR) and therefore require a genuine Intel® Atom processor for collection.
  • Collected results can be analyzed using any system meeting the less restrictive general operation requirements.

System Memory Requirements

At least 2 GB of RAM

Disk Space Requirements

900 MB free disk space required for all product features and all architectures

Software Requirements

This section provides software requirements for the following systems:

  • Linux* hosts and targets

  • Windows* hosts and targets

  • FreeBSD* targets

  • Android* targets

  • macOS* hosts

Floating Licensing Service Requirements

Floating licenses of 2017 or 2018 version Intel® Software Development Tools require the latest version (Intel 2.5/lmgrd 11.14.1.1) of Intel® Software License Manager for successful installation. For the latest version of Intel® Software License Manager, please go to the Intel® Registration Center (choose the right OS and platform; only users with floating license registrations have access to this link). For more details, see Installation Errors Related to Intel® Software License Manager Upgrade

To get started the with the Intel® Software License Manager, please refer to this tutorial: Intel® Software License Manager Getting Started

System Requirements for Android* Targets

Supported Operating Systems

  • Android 4.x or higher based environment

Supported Compilers

  • Intel® C/C++ Compiler 12.1 for Android and higher
  • GNU* C/C++ Compiler 4.2 and higher for Intel® architecture

Application Coding Requirements

Supported programming languages:

  • C
  • C++
  • Java (Dalvik and ART*)

Note Intel® VTune™ Amplifier can collect samples for any language running on the system but you can view the code source with the VTune Amplifier only for the above languages.

Supported Java* environments:

  • Oracle* JVM 6, 7 and 8 – Hotspots and Hardware event-based analysis types

  • OpenJDK 8 (Linux only)

Supported OpenCL* environments:

  • Intel® SDK for OpenCL Applications version 2013 and newer

Other Requirements

  • To view PDF documents, use a PDF reader, such as Adobe Reader*.

  • To enable automatic product updates with the Intel® Software Update Manager, use Java* version 1.6 or higher.

Software Requirements for FreeBSD* Targets

Supported Operating Systems

The target FreeBSD platform should be based on one of the following environments:

FreeBSD 10 and 11

Note For installation details, see FreeBSD System Setup topic.

Application Coding Requirements

Supported programming languages:

  • Fortran

  • C

  • C++

  • Java*

  • OpenCL*

  • Python

  • Go

Concurrency and Locks and Waits analysis types interpret the use of constructs from the following threading methodologies:

  • Intel® Threading Building Blocks

  • Posix* Threads on Linux*

  • OpenMP*

  • Intel's C/C++ Parallel Language Extensions

Supported Java* environments:

  • Oracle* JVM 6, 7 and 8 – Hotspots and Hardware event-based analysis types

  • OpenJDK 8 (Linux only)

Supported OpenCL* environments:

  • Intel® SDK for OpenCL Applications version 2013 and newer

Other Requirements

  • To view PDF documents, use a PDF reader, such as Adobe Reader*.

  • To enable automatic product updates with the Intel® Software Update Manager, use Java* version 1.6 or higher.

Software Requirements for Linux* Hosts/Targets

Supported Operating Systems

  • Red Hat* Enterprise Linux 6 and 7

  • CentOS* versions equivalent to Red Hat* Enterprise Linux* versions listed above

  • SUSE* Linux* Enterprise Server (SLES) 11 and 12

  • Fedora* 25 and 26

  • Ubuntu* 14.04, 16.04 and 17.04

  • Debian* 8.0 and 9.0

Note 32-bit graphical user interface support is removed. A 64-bit operating system host is required to use the VTune Amplifier graphical user interface to analyze collected profile data. Command line profiling and reporting is supported on a 32-bit operating system host. Use the command line installer instructions to install on a 32-bit operating system.

On Linux, the following packages must be installed for the VTune Amplifier standalone GUI:

  • GTK+ (2.10 or higher, 2.18 or higher is recommended)

  • Pango (1.14 or higher)

  • X.Org (1.0 or higher, 1.7 or higher is recommended)

Target Requirements for Embedded Linux

The target platform should be based on one of the following environments:

  • Yocto Project* 1.7, 1.8, 2.0 2.2 and 2.3 based environment

  • Wind River* Linux* 6, 7, 8 and 9-based environment

Supported Compilers

  • Intel® C/C++ Compiler 11 and higher

  • Intel® Fortran Compiler 11 and higher

  • GNU C/C++ Compiler 3.4.6 and higher

Supported Kernels

  • Hardware event-based sampling analysis with stacks requirements:

    • Linux kernel version 2.6.32 or above

  • Driverless hardware event-based sampling analysis requirements:

    • Linux kernel version 2.6.32 or above, exporting CPU PMU programming details over /sys/bus/event_source/devices/cpu/format file system

Application Coding Requirements

Supported programming languages:

  • Fortran

  • C

  • C++

  • Java*

  • OpenCL*

  • Python

  • Go

Concurrency and Locks and Waits analysis types interpret the use of constructs from the following threading methodologies:

  • Intel® Threading Building Blocks

  • Posix* Threads on Linux*

  • OpenMP*

  • Intel's C/C++ Parallel Language Extensions

Note VTune Amplifier supports analysis of OpenMP* applications built with Intel® Fortran Compiler Professional Edition version 11.0 or higher, Intel® C++ Compiler Professional Edition version 11.0 or higher, or GNU* C/C++ Compiler 4.2 or higher (Linux).

Supported Java* environments:

  • Oracle* JVM 6, 7 and 8 – Hotspots and Hardware event-based analysis types

  • OpenJDK 8 (Linux only)

Supported OpenCL* environments:

  • Intel® SDK for OpenCL Applications version 2013 and newer

Other Requirements

  • To view PDF documents, use a PDF reader, such as Adobe Reader*.

  • To enable automatic product updates with the Intel® Software Update Manager, use Java* version 1.6 or higher.

Software Requirements for macOS* Hosts

Supported Operating Systems

  • OS X* 10.11.* and 10.12.*

Application Coding Requirements

Supported programming languages:

  • Fortran

  • C

  • C++

  • Java*

  • OpenCL*

  • Python

  • Go

Concurrency and Locks and Waits analysis types interpret the use of constructs from the following threading methodologies:

  • Intel® Threading Building Blocks

  • Posix* Threads on Linux*

  • OpenMP*

  • Intel's C/C++ Parallel Language Extensions

Note VTune Amplifier supports analysis of OpenMP* applications built with Intel® Fortran Compiler Professional Edition version 11.0 or higher, Intel® C++ Compiler Professional Edition version 11.0 or higher, or GNU* C/C++ Compiler 4.2 or higher (Linux).

Supported Java* environments:

  • Oracle* JVM 6, 7 and 8 – Hotspots and Hardware event-based analysis types

  • OpenJDK 8 (Linux only)

Supported OpenCL* environments:

  • Intel® SDK for OpenCL Applications version 2013 and newer

Other Requirements

  • To view PDF documents, use a PDF reader, such as Adobe Reader*.

  • To enable automatic product updates with the Intel® Software Update Manager, use Java* version 1.6 or higher.

Software Requirements for Windows* Hosts/Targets

Supported Operating Systems

  • Microsoft* Windows* 7, 8, 8.1 and 10 (including Windows 10 Creators Update (RS2))

  • Microsoft* Windows* Server 2012 and 2016

  • Microsoft Windows* Embedded Standard 7, 8.x

  • Microsoft Windows* Embedded Pro 8.x

  • Microsoft Windows* Embedded Industry 8.x

Note

  • 32-bit graphical user interface support is removed. A 64-bit operating system host is required to use the VTune Amplifier graphical user interface to analyze collected profile data. Command line profiling and reporting is supported on a 32-bit operating system host. Use the command line installer instructions to install on a 32-bit operating system.

  • VTune Amplifier supports analysis of Windows Store applications on Microsoft Windows 8* via the Attach to Process or Profile System modes. The Launch Application mode is not supported. Supported analysis types are Basic Hotspots and hardware event-based sampling analysis, including stack collection. Concurrency and Locks and Waits analysis types are not supported.

Supported Microsoft* Visual Studio* Versions

  • Microsoft* Visual Studio* 2013

  • Microsoft* Visual Studio* 2015

  • Microsoft* Visual Studio* 2017

Supported Compilers

  • Intel® C/C++ Compiler 11 and higher

  • Intel® Fortran Compiler 11 and higher

  • Intel® Parallel Composer

  • Microsoft* Visual Studio* C/C++ Compiler

  • Cygwin (tested Cygwin 1.7.17 with GCC 4.5.3)

  • MinGW (tested MinGW with GCC 4.6.2)

Application Coding Requirements

Supported programming languages:

  • Fortran

  • C

  • C++

  • C#

  • Java*

  • OpenCL*

  • Python

  • Go

Concurrency and Locks and Waits analysis types interpret the use of constructs from the following threading methodologies:

  • Intel® Threading Building Blocks

  • Win32* Threads on Windows*

  • OpenMP*

  • Intel's C/C++ Parallel Language Extensions

Note

  • VTune Amplifier fully supports .NET* versions 3.5 and below. There are limitations for .NET 4.0 and higher: analysis types Locks and Waits and Concurrency cannot detect synchronization primitives from Task Parallel Library classes and algorithms in the System.Threading.Tasks namespace.

  • VTune Amplifier supports analysis of OpenMP* applications built with Intel® Fortran Compiler Professional Edition version 11.0 or higher, Intel® C++ Compiler Professional Edition version 11.0 or higher, or Microsoft* Visual Studio* C/C++ Compiler.

Supported Java* environments:

  • Oracle* JVM 6, 7 and 8 – Hotspots and Hardware event-based analysis types

  • OpenJDK 8 (Linux only)

Supported OpenCL* environments:

  • Intel® SDK for OpenCL Applications version 2013 and newer

Other Requirements

  • To view PDF documents, use a PDF reader, such as Adobe Reader*.

  • To enable automatic product updates with the Intel® Software Update Manager, use Java* version 1.6 or higher.

Installation Notes

Please refer to the Installation Guides document that are also available online:

  • Intel® VTune™ Amplifier Installation Guide - Linux* OS

  • Intel® VTune™ Amplifier Installation Guide - Windows* OS

  • Intel® VTune™ Amplifier Installation Guide - macOS*

  • FreeBSD* System Setup

Issues and Limitations

Common Limitations

Running time is attributed to the next instruction (200108041)

To collect the data about time-consuming running regions of the target, the Intel® VTune™ Amplifier interrupts executing target threads and attributes the time to the context IP address.

Due to the collection mechanism, the captured IP address points to an instruction AFTER the one that is actually consuming most of the time. This leads to the running time being attributed to the next instruction (or, rarely to one of the subsequent instructions) in the Assembly view. In rare cases, this can also lead to wrong attribution of running time in the source - the time may be erroneously attributed to the source line AFTER the actual hot line.

In case the inline mode is ON and the program has small functions inlined at the hotspots, this can cause the running time to be attributed to a wrong function since the next instruction can belong to a different function in tightly inlined code.

Collection missing data for core_0 on Skylake-X systems (VASP-11480)

On some Skylake-X systems with enabled SMT mode, VTune Amplifier hardware sampling analysis might collect data against less logical CPUs than available on the system. As example, the problem was reproduced on Intel(R) Core i9-7900X 10C20T CPU installed on an Asus® PRIME X299-DELUXE motherboard.

Workaround: Upgrade the BIOS and the firmware of the board to version 0802 or later.

An application that allocates massive chunks of memory may fail to work under VTune Amplifier (200083850)

If a 32-bit application allocates massive chunks of memory (close to 2 GB) in the heap, it may fail to launch under the VTune Amplifier while running fine on its own. This happens because the VTune Amplifier requires additional memory when profiling an application. The workaround could be in using larger address space (for example, converting the project to 64-bit).

Hardware event-based analysis may crash certain Intel® Core™ i7 processor-based systems when deep sleep states are enabled (200149603)

On some Intel® Core™ i7 processor-based (code named Nehalem) systems with C-states enabled, sampling may cause system hanging due to a known hardware issue. To avoid this, disable the “Cn(ACPI Cn) report to OS” BIOS option before sampling with the VTune Amplifier on Intel Core i7 processor-based systems.

Instruction set reference document is not positioned on description of proper instruction. (200091200)

The reference information for assembly instructions can be opened in any PDF viewer, but only Adobe Acrobat Reader* supports positioning the instruction reference document on the required page. To ensure correct functionality of this feature, you are recommended to install the latest available version of Adobe Acrobat Reader.

VTune Amplifier does not support profiling an application launched under debugger (200092508)

The Basic Hotspots, Concurrency, Lock and Waits, Memory Access with object tracking and Disk I/O analysis types provide incorrect results when analyzing an application launched under a debugger. VTune Amplifier does not detect whether a debugger is attached to a profiled application. Make sure that no debugging tools are attached to the application that is profiled with the VTune Amplifier.

Timeline pane displays incorrect concurrency and thread states for a paused region in the Concurrency and Locks and Waits analyses. (200204715)

Concurrency and thread state data may be incorrect in the Timeline pane for a region corresponding to the time when data collection was paused. Ignore the timeline data in a paused region during result analysis.

Only one stack frame is shown in Java code if IBM* J9* JVM is used (200227950)

Currently Java stack unwinding is not supported for IBM* J9* JVM.

Results not collected for processes terminated with TerminateProcess() (200108689)

No results are displayed for any process being profiled that is terminated by a different process calling TerminateProcess(). Instead, a different method should be used to terminate the process.

Do not use -ipo (Linux)//Qipo (Windows) option with Intel compiler version earlier than 13.0. (200260765)

If using the Intel® compiler version earlier than 13.0, to get performance data on inline functions, use the additional option -inline-debug-info(Linux)//debug:inline-debug-info (Windows), but avoid using the /Qipo option. Currently this option disables generating the inline debug information in the compiler. Note that the Intel compiler integrated into the Microsoft Visual Studio* IDE uses the -ipo//Qipo by default in the Release configuration.

Java source line may be shown incorrectly for Oracle JDK 6u25 x64 (200167001)

Drilling down to Java source code from VTune Amplifier results may show incorrect source line. The issue occurs with Java applications built with Oracle JDK 6u25 x64. This is the JDK problem, refer to issues JDK-7051767 and JDK-7047624 in Oracle bug database.

Result finalization may be slow if results are located in a remote network directory (200169322)

The problem is caused by slow network access. To improve performance use local directory for result storage.

Call stack can’t be unwound via no return functions (200263851)

If analyzed application contains functions without ret instruction (for example, calling exit()), unwinding call stack to its caller and higher may fail (no stack frames shown).

Attaching the VTune Amplifier to a process may take some time (200276420)

Your target application may complete before the data collection starts, so the VTune Amplifier may report an error. Increase the duration of your test application if necessary.

Command line option "amplxe-cl -command status" is currently supported only for user-mode sampling and tracing based analysis types, but not for EBS analysis types.

Hardware event-based analysis may cause unpredictable system behavior on processors based on Intel® microarchitecture code named Sandy Bridge (200285401)

On processors based on Intel microarchitecture code name Sandy Bridge, hardware event-based sampling may cause unpredictable system behavior due to a known hardware issue. To avoid this, you are not recommended to run General Exploration or Custom Hardware event-based analysis with precise events on these systems unless a BIOS workaround for the erratum is provided.

VTune Amplifier may detect which timer source to use incorrectly on Intel® Xeon® processor E5-XXXX processors (200287361)

In User-mode Sampling and Tracing based analysis (Hotspots, Concurrency, Locks and Waits), the following message may be displayed in command line or Debug Window:

Warning Cannot load data file `<path>\data.0\18385-18389.0.trace' (SampleCallback: timestamps aren't ascended!).

To work around the problem collect results from command line using the -run-pass-thru option:

amplxe-cl -collect hotspots -run-pass-thru=-timestamp=sys -- <application>

Hardware event-based analysis does not work if more than 128 events are gathered simultaneously (200293868)

Decrease number of PMU events in analysis settings to resolve it.

Results should be closed before comparing them (200236090)

VTune Amplifier does not support opening the same result twice. Due to that limitation it is not possible to compare (via the Compare button) results if one of them is already opened. You should close results first then compare them.

ITT API task or frame is not shown in results if its end occurs when collector is inactive (200331811)

When ITT task or frame end notification occurs after collection was paused, or detach or stop command issued, the frame or task is not displayed in the result.

An application may experience the stack overflow exception when running under the VTune Amplifier (200249394)

An application allocating massive chunks of memory on a thread stack may experience the stack overflow exception and fail when running under the VTune Amplifier, while running flawlessly on its own. This happens because the VTune Amplifier requires additional space on an application thread stack for profiling needs. To work around this problem, consider using larger thread stack space.

JIT writer API cannot handle too long file names on Windows (200587412)

This issue happens when file name of JIT trace file is longer than 260 symbols. VTune is then not able to generate a proper result when the result directory has long name.

VTune Amplifier is not able to resolve debug information when an application is compiled with the “/DEBUG:FASTLINK” option. (200414493)

This issue is prevalent only in Microsoft* Visual Studio 2015. To fix this issue, please use the “/DEBUG” option instead. For more information, please see HTTPS://BLOGS.MSDN.MICROSOFT.COM/VCBLOG/2015/10/16/DEBUGFASTLINK-FOR-VS2015-UPDATE-1.

VTune Amplifier target executables do not work on Yocto Project 1.5 x64 due to different paths to ld (200507491)

Error message: "-sh: ./amplxe-runss: No such file or directory". Usually ld is located in /lib64/ld-linux-x86-64.so.2 but on Yocto 1.5 x64 it is located in /lib/ld-linux-x86-64.so.2. The workaround is to create /lib64/ld-linux-x86-64.so.2 as a symlink to /lib/ld-linux-x86-64.so.2.

Windows* Host Limitations

Thread stack size limitation (200108571)

VTune Amplifier may crash with the following error message: Error: failed to create a sampling thread: not enough storage is available to process this command. This happens when the profiled application has big reserved and committed thread stack size (/STACK:reserve[,commit] command line switch of link.exe). The suggested workaround is reducing the reserved/committed thread stack size to profile the target.

Incorrect timing results when running on a 32-bit virtual machine (200137061)

VTune Amplifier may fail to collect correct timing data when running on a virtual machine with problematic virtualization of time stamp counters. In this case the VTune Amplifier throws a warning message:

Warning Cannot load data file '<path_to_a_trace_file>.trace' (syncAcquiredHandler: timestamps aren't ascended!)

Uninstalling limitation: pin.exe stays running after detaching. (200092295)

VTune Amplifier cannot be uninstalled after attaching to the target to be profiled until running the target is over. The cause is that pin.exe keeps working after detaching from the target and exits only after the profiled application/process execution finishes.

Second attach to the same application should print an error and exit immediately (200092650)

VTune Amplifier allows running the analysis while the previous one is in progress but does not store any data for the second analysis run.

Truncated .NET* module names may be displayed in results view (200199458)

When viewing results collected for a .NET application, you may observe truncated .NET module names. Please make sure a system was rebooted after installing the .NET application and before profiling with the VTune Amplifier.

.NET modules loaded dynamically via Reflection API are displayed as "unknown" hotspots (200088121)

If dynamic .NET modules (e.g. loaded via Assembly.LoadFrom) are used in target application, VTune Amplifier will show them as "unknown" functions and modules in hotspots list.

Attachment as Administrator to a process that launched by the 'System' user fails (200259643)

You may use a utility from http://technet.microsoft.com/en-us/sysinternals/bb897553 to profile a system service (for example, w3wp.exe-based code) from the command line using amplxe-cl.exe that is located in <product_install_dir>/bin32. Do the following:

  1. Configure the w3wp service to run with the permissions you use to log in: Open IIS Manager, right-click an application pool you are using and set “Process model:Identity” to the account under which w3wp needs to be run.

  2. Run the w3wp service and make sure you run it with proper credentials and remember its PID.

  3. Start data collection:

    psexec -i 0 /path/to/amplxe-cl.exe -c=hotspots -r /path/for/your/data_dir --target-pid=PID

  4. Run your workload.

  5. Stop data collection:

    psexec -i 0 /path/to/amplxe-cl.exe -command detach -r /path/for/your/data_dir

  6. Open /path/for/your/data_dir in GUI:

    <product_install_dir>/bin32/amplxe-gui /path/to/your/data_dir

Limited support of Windows Store* applications (200299329)

VTune Amplifier supports attaching to Windows Store* applications, but not launching them. Only hardware event-based analysis types are supported.

Microsoft* Visual Studio* 2012 help may be displayed incorrectly (200300692)

On Microsoft* Windows Server 2012* systems, if you have problems viewing Microsoft* Visual Studio* 2012 help, check the settings for Internet Explorer in Tools > Internet Options > Security. To allow correct display of help, in the Internet zone enable MIME Sniffing and Active scripting.

VTune Amplifier analysis may fail on machine with Verdasys Digital Guardian* software installed. (200237470)

User mode sampling and tracing based analysis types (Hotspots, Concurrency, Locks and Waits) run from GUI may fail if Verdasys Digital Guardian* software is installed on the machine. However it is still possible to run collection from command line.

Alternatively EBS collection with stacks can be used, either from GUI or command line.

Analyzed application may crash during analysis if "Symantec Endpoint Protection Application and Device Control" software is installed (200237601)

The issue may occur with user mode sampling and tracing based analysis types (Hotspots, Concurrency, and Locks and Waits). Ways to overcome the problem:

  • If user mode sampling and tracing based analysis is needed exclude the analyzed application from the list of monitored applications of "Symantec Endpoint Protection Application and Device Control" software.

  • Use the Advanced Hotspots analysis with the Collect stacks option turned on instead.

Documentation cannot be opened in Microsoft Internet Explorer* 10 on Windows Server* 2012 (200340007)

To correct the problem modify security settings in Microsoft Internet Explorer* 10. From Tools > Internet Options > Security, add “about:internet” to the list of trusted sites.

Child process analysis does not work for EBS analysis types if process is run from script using "start" command (200342928)

If a process is started from a batch file by the "start" command, it does not have original command interpreter as a parent process. So the new process cannot be identified as a child and not profiled. This is true for all Hardware event-based analyses. Possible workarounds:

  • Use user-mode sampling and tracing based analysis types instead

  • Use "call" command in a batch file instead of "start"

  • Use "attach to process" collection mode to connect directly to the process of interest

Collection of some GPU analysis metrics should be enabled in BIOS for 3rd Generation Intel® Core™ processors (200342983)

Some systems disable collection of extended metrics such as L3 misses, memory accesses, sampler busyness, SLM accesses, etc. in the BIOS. On some systems, but not all, they can be enabled by changing a bios option. The presence or absence of the option and its name are BIOS vendor specific. Look for something like an “Intel(R) Graphics Performance Analyzers” option in your BIOS and set it to “Enabled ". Note that this option is BIOS vendor specific, may not always be present and may be named differently. Check the BIOS options on your system for details.

Results may contain process name cut on the 14th character (200401361)

VTune Amplifier may cut long process name on the 14th character in results collected with EBS analysis types with stacks. E.g. the result should contain find_hotspots.exe, but it contains only find_hotspots.. This is an operating system limitation.

Warning "Unsigned driver" during installation for sepdrv and vtss drivers on Windows* 7 and Windows* Server 2008 R2 (200574645)

VTune Amplifier hardware event-based sampling drivers (sepdrv.sys and vtss.sys) are signed with digital SHA-2 certificate key for compliance with Windows 10 requirements.

To install the drivers on Windows* 7 and Windows* Server 2008 R2 operating systems, add functionality for the SHA-2 hashing algorithm to the systems by applying Microsoft Security update 3033929: https://technet.microsoft.com/en-us/library/security/3033929.

Analysis of Processor Graphics hardware events on Windows* OS requires a compatible Intel Graphics Drivers (200586628)

To monitor the Render and GPGPU engine usage, VTune Amplifier requires a compatible Intel Graphics Drivers.

As of July 30 2016, the latest supported version is Intel Beta Graphics Driver for Windows, Version: Beta 15.40.12.4326 .

The analysis may fail with Version: Beta 15.40.18.4380 or newer.

VTune Amplifier cannot load drivers into kernel

Most Android* kernels only allow signed drivers. If you try and install a driver (sep3_10.ko, pax.ko, vtsspp.ko, SOCWATCH1_3.ko or apwr3_1.ko), which has been built after the kernel was built, you will get an error message stating that no signing key is found. To workaround, you must build drivers with the exact signing key created when the Android OS (boot.bin) was built. The easiest way to do that is to use drivers which have been integrated into the kernel.

Windows* OS: VTune Amplifier for Systems target executables do not work on Yocto Project 1.5 x64 due to different paths to ld

Target executables fail with the following message:

-sh: ./amplxe-runss: No such file or directory

Usually ld is located in /lib64/ld-linux-x86-64.so.2 but on Yocto 1.5 x64 it is located in /lib/ld-linux-x86-64.so.2. The workaround is to create /lib64/ld-linux-x86-64.so.2 as a symlink to /lib/ld-linux-x86-64.so.2.

Linux* Host Limitations

Security-enhanced Linux* is not supported (200155374)

Security-enhanced Linux settings (SELinux) are currently not supported by the VTune Amplifier and need to be either disabled or set to permissive for a successful tool suite installation. If your Linux distribution has SELinux enabled the following error message will be issued by the installer: "Your system is protected with Security-enhanced Linux (SELinux). We currently support only "Permissive" mode, which is not found on the system. To rectify this issue, you may either disable SELinux by - setting the line "SELINUX=disabled" in your /etc/sysconfig/selinux file - adding "selinux=0" kernel argument in lilo.conf or grub.conf files or make SELinux mode adjustment by - setting the line "SELINUX=permissive" in your /etc/sysconfig/selinux file or ask your system administrator to make SELinux mode adjustment. You may need to reboot your system after changing the system parameters. More information about SELinux can be found at http://www.nsa.gov/selinux/".

VTune Amplifier user mode collection may fail to run on Ubuntu* (200197563)

VTune Amplifier may fail to collect data for Hotspots, Concurrency, and Locks and Waits analysis types on the Ubuntu operating system. Once a collection is started, the message appears in the output: "Failed to start profiling because the scope of ptrace() system call application is limited. To enable profiling, please set /proc/sys/kernel/yama/ptrace_scope to 0. See the Release Notes for instructions on enabling it permanently."

To workaround this problem for the current session, set contents of the /proc/sys/kernel/yama/ptrace_scope sysctl file to 0.

To make this change permanent, set kernel.yama.ptrace_scope value to 0 at /etc/sysctl.d/10-ptrace.conf file using root permissions and reboot the machine.

Concurrency analysis may provide incorrect Wait time data if Linux futexes are used (200163557)

In certain cases, custom synchronization constructions based on Linux futexes are not detected by the VTune Amplifier. System libraries may also use such constructions. To ensure Wait time correctness in the Concurrency analysis, use syscall(SYS_futex, ...) API in your code.

VTune Amplifier may cause KVM guest virtual machine to crash (200384245)

In some cases, when you run Event-Based Sampling analysis on a host machine, a guest KVM virtual machine may experience kernel panic. This happens only if precise events are used, for example, with General Exploration analysis type. Upgrade KVM to a newer version, there is a KVM patch that fixes the problem.

VTune Amplifier GUI may not have scrollbars on Ubuntu* OS (200534347)

On Ubuntu 12.04 and newer with the overlay scrollbars style, there may be no scrollbars available in the VTune Amplifier GUI. To get them shown, change the scrollbar style by invoking the command below before running amplxe-gui:

  • On Ubuntu 12.x:

    gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars false

  • On Ubuntu 13.x and newer:

    gsettings set com.canonical.desktop.interface scrollbar-mode normal

Symbols are not resolved for binaries remapped with hugtlbfs utility (200244405)

hugetlbfs remaps segments from executable file to its temporary file system or to anonymous memory regions. VTune Amplifier can’t map those segments to the original executable.

Workaround for this problem is to rename the original executable to the one that hugetlb exposes, i.e. the module name that you see in VTune Amplifier results.

my_exe (original executable) -> my_exe_32_2 (file name on hugetlb file system in case of sharing between processes)

my_exe (original executable) -> libhugetlbfs.tmp.<random hash> (memory region name in case of anonymous mappings)

Running other PMU-based tools simultaneously with hardware event-based sampling collection is not supported (200166101)

The Sampling Driver requires exclusive use of the PMU resources. Running multiple PMU based tools will cause incorrect results and/or system instability.

Hotspots, Concurrency and Locks and Waits analysis types may not work on executables that do not depend on the libpthread.so.0 library (200208975)

There is currently a limitation in the product regarding profiling application targets where the executable does not depend on the libpthread.so.0 library. The message "Link libpthread.so to the application statically and restart profiling" appears when profiling an application where program image does not depend on libpthread.so.0 but then it dlopen()-s a shared library which does depend on libpthread.so.0. The collector is not able to follow the program execution and module load/unload so the collection results are likely to be misleading. A workaround is to set "LD_PRELOAD=libpthread.so.0" before running the collection.

Opening results significantly delayed on Linux systems configured with "large pages" (200215471)

To work around this issue make sure that you have hugectl utility and libhugetlbfs library on the system. VTune Amplifier can be started this way:

hugectrl --heap <amplxe install dir>/bin32/amplxe-gui

LD_PRELOAD=libhugetlbfs.so <amplxe install dir>/bin64/amplxe-gui

Help TOC is truncated in some Linux browsers (200272063)

When using certain HTML browsers to view the VTune Amplifier offline documentation, if the Contents tab width appears truncated and hides some of the topic titles:

  • Click the Index (or Search) button

  • Click the Contents button

Decreasing sampling interval for user-mode sampling and tracing collection may lead to wrong CPU usage data (200296537)

User-mode sampling and tracing analysis technology is based on OS timers which cannot tick faster than HZ value configured during kernel compilation. Sampling interval should not be less than HZ value.

User-mode sampling and tracing collection may cause an error when profiling COI/SCIF application on Intel® Xeon Phi™ processor (200234639)

If you get a COI buffer error with User-mode sampling and tracing collection, use hardware event-based analysis instead.

Collection fails with error "No CONFIG_PERF_EVENTS=y kernel support configured" (200372350)

Driverless EBS collection on Linux can fail with the error: "No CONFIG_PERF_EVENTS=y kernel support configured" even having the kernel config has been set. This is a known Linux kernel issue that is resolved in kernel version 4.1. There is a simple patch that provides a workaround: http://halobates.de/ivb-allow-mem-load-uops

User tasks, events and frames marked with ITT APIs may not be shown if target application is finished by Ctrl+C (200304207)

Use another method to stop application, or VTune Amplifier "stop" command.

When installing on a Xen* virtual machine, it may happen that installation script exits claiming CPU is unsupported (200294340)

To skip the check for CPU model, add --ignore-cpu parameter to install script command line:

./install.sh --ignore-cpu

VTune Amplifier help does not open from GUI on some Linux systems (200377881)

On some Linux systems, like Wind River Linux, default ways to open web browser may not work. You may export environment variable ‘BROWSER’ (before starting VTune Amplifier) with the path to web browser to get VTune Amplifier help working.

For example:

>export BROWSER=/usr/bin/firefox

VTune Amplifier user APIs are not supported for static binaries (200279211)

To use ITT and JIT APIs with software based collectors (Hotspots, Concurrency, Locks and Waits) user needs to link their application dynamically. Otherwise ITT and JIT API notifications will be missing in the result.

Event-based sampling driver fails to build on Yocto Project 1.6 Intel x86_86 BSPs due to missing CONFIG_COMPAT #define in linux kernel headers (200359539)

Sampling driver fails to build on Yocto x86_64 BSPs images that do not have “CONFIG_COMPAT=y” setting (https://bugzilla.yoctoproject.org/show_bug.cgi?id=6777)

To resolve the issue, you need to re-build the image with the option manually.

Change kernel configuration according to http://www.yoctoproject.org/docs/1.6.1/kernel-dev/kernel-dev.html#changing-the-configuration:

  1. Create the compat.cfg file in meta-yocto-bsp/recipes-kernel/linux/files/ directory with content:

    CONFIG_IA32_EMULATION=y

    CONFIG_COMPAT=y

  2. Add the following strings to meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend

    FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

    SRC_URI += file://compat.cfg

  3. Clean and build a modified kernel according to http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#patching-the-kernel and http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#build-the-modified-qemu-kernel-image:

    $ bitbake linux-yocto -c cleansstate

    $ bitbake -k linux-yocto

  4. Build image:

    $ bitbake core-image-sato

macOS* Host Issues

Intel VTune Amplifier for macOS* supports viewing of results collected on other OSs. Native collection on macOS is not currently available.

Technical Support

If you did not register your product during installation, please do so at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.

For information about how to find Technical Support, Product Updates, User Forums, FAQs, tips and tricks, and other support information, please visit Support/

Note If your distributor provides technical support for this product, please contact them for support rather than Intel.

Attributions

The following are licenses for third party software that was used to develop the Intel® VTune™ Amplifier for Linux* and Windows* OS. These licenses are listed due to attribution requirements in these license agreements. For the avoidance of doubt, the Intel VTune™ Amplifier is solely governed by the terms and conditions of the End User License Agreement for Intel® Software Development Product that accompanies the Intel VTune™ Amplifier.

Xulrunner

Modified source code and instructions for building the Xulrunnerpackage shipped as a part of the Intel® VTune Amplifier are available at the following link:

XULRunner* for Intel® VTune™ Amplifier XE

Mozilla Public License

Version 2.0

1. Definitions

1.1. “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.

1.2. “Contributor Version” means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.

1.3. “Contribution” means Covered Software of a particular Contributor.

1.4. “Covered Software” means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.

1.5. “Incompatible With Secondary Licenses” means that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.

1.6. “Executable Form” means any form of the work other than Source Code Form.

1.7. “Larger Work” means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.

1.8. “License” means this document.

1.9. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.

1.10. “Modifications” means any of the following: any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or any new file in Source Code Form that contains any Covered Software.

1.11. “Patent Claims” of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.

1.12. “Secondary License” means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.

1.13. “Source Code Form” means the form of the work preferred for making modifications.

1.14. “You” (or “Your”) means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

2. License Grants and Conditions

2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.

2.2. Effective Date

The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.

2.3. Limitations on Grant Scope

The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: for any code that a Contributor has removed from Covered Software; or for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).

2.4. Subsequent Licenses

No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).

2.5. Representation

Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.

2.7. Conditions

Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.

3. Responsibilities

3.1. Distribution of Source Form

All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.

3.2. Distribution of Executable Form

If You distribute Covered Software in Executable Form then: such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).

3.4. Notices

You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.

4. Inability to Comply Due to Statute or Regulation

If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.

5. Termination

5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.

5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.

6. Disclaimer of Warranty

Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.

7. Limitation of Liability

Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.

8. Litigation

Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.

9. Miscellaneous

This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.

10. Versions of the License

10.1. New Versions

Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.

10.2. Effect of New Versions

You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.

10.3. Modified Versions

If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses

If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.

Exhibit A - Source Code Form License Notice

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - “Incompatible With Secondary Licenses” Notice

This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0.

Node.JS

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)

Node's license follows:

Copyright Joyent, Inc. and other Node contributors. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This license applies to all parts of Node that are not externally maintained libraries. The externally maintained libraries used by Node are:

  • V8, located at deps/v8. V8's license follows:

    This license applies to all parts of V8 that are not externally maintained libraries. The externally maintained libraries used by V8 are:

    • PCRE test suite, located in test/mjsunit/third_party/regexp-pcre.js. This is based on the test suite from PCRE-7.3, which is copyrighted by the University of Cambridge and Google, Inc. The copyright notice and license are embedded in regexp-pcre.js.

    • Layout tests, located in test/mjsunit/third_party. These are based on layout tests from webkit.org which are copyrighted by Apple Computer, Inc. and released under a 3-clause BSD license.

    • Strongtalk assembler, the basis of the files assembler-arm-inl.h, assembler-arm.cc, assembler-arm.h, assembler-ia32-inl.h, assembler-ia32.cc, assembler-ia32.h, assembler-x64-inl.h, assembler-x64.cc, assembler-x64.h, assembler-mips-inl.h, assembler-mips.cc, assembler-mips.h, assembler.cc and assembler.h.

      This code is copyrighted by Sun Microsystems Inc. and released under a 3-clause BSD license.

    • Valgrind client API header, located at third_party/valgrind/valgrind.h

      This is release under the BSD license.

    These libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below.

    Copyright 2006-2012, the V8 project authors. All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  • C-Ares, an asynchronous DNS client, located at deps/cares. C-Ares license follows:

    Copyright 1998 by the Massachusetts Institute of Technology.

    Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

  • OpenSSL located at deps/openssl. OpenSSL is cryptographic software written by Eric Young (eay@cryptsoft.com) to provide SSL/TLS encryption. OpenSSL's license follows:

    Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project software must display the following acknowledgment: for use in the OpenSSL Toolkit. (http://www.openssl.org/)"

    4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.

    5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.

    6. Redistributions of any form whatsoever must retain the following acknowledgment:

      "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"

    THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT "AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

  • HTTP Parser, located at deps/http_parser. HTTP Parser's license follows:

    http_parser.c is based on src/http/ngx_http_parse.c from NGINX copyright Igor Sysoev.

    Additional changes are licensed under the same terms as NGINX and copyright Joyent, Inc. and other Node contributors. All rights reserved.

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  • Closure Linter is located at tools/closure_linter. Closure's license follows:

    Copyright (c) 2007, Google Inc.

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  • tools/cpplint.py is a C++ linter. Its license follows:

    Copyright (c) 2009 Google Inc. All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  • lib/punycode.js is copyright 2011 Mathias Bynens <http://mathiasbynens.be/> and released under the MIT license.

    Punycode.js <http://mths.be/punycode>

    Copyright 2011 Mathias Bynens <http://mathiasbynens.be/>

    Available under MIT license <http://mths.be/mit>

  • tools/gyp. GYP is a meta-build system. GYP's license follows:

    Copyright (c) 2009 Google Inc. All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  • Zlib at deps/zlib. zlib's license follows:

    zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.8, April 28th, 2013

    Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler

    This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

    1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

    2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

    3. This notice may not be removed or altered from any source distribution.

    Jean-loup Gailly jloup@gzip.org

    Mark Adler madler@alumni.caltech.edu

  • npm is a package manager program located at deps/npm.

    npm's license follows:

    Copyright (c) Isaac Z. Schlueter

    All rights reserved.

    npm is released under the Artistic 2.0 License.

    The text of the License follows:

    The Artistic License 2.0

    Copyright (c) 2000-2006, The Perl Foundation.

    Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

    Preamble

    This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed.

    The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.

    You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.

    Definitions

    "Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.

    "Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.

    "You" and "your" means any person who would like to copy, distribute, or modify the Package.

    "Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.

    "Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.

    "Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.

    "Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.

    "Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.

    "Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.

    "Source" form means the source code, documentation source, and configuration files for the Package.

    "Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.

    Permission for Use and Modification Without Distribution

    (1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.

    Permissions for Redistribution of the Standard Version

    (2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.

    (3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.

    Distribution of Modified Versions of the Package as Source

    (4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:

    (a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.

    (b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.

    (c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under

    (i) the Original License or

    (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.

    Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source

    (5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.

    (6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.

    Aggregating or Linking the Package

    (7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.

    (8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.

    Items That are Not Considered Part of a Modified Version

    (9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.

    General Provisions

    (10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.

    (11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.

    (12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.

    (13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.

    (14) Disclaimer of Warranty:

    THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    "Node.js" and "node" trademark Joyent, Inc. npm is not officially part of the Node.js project, and is neither owned by nor officially affiliated with Joyent, Inc.

    Packages published in the npm registry (other than the Software and its included dependencies) are not part of npm itself, are the sole property of their respective maintainers, and are not covered by this license.

    "npm Logo" created by Mathias Pettersson and Brian Hammond, used with permission.

    "Gubblebum Blocky" font

    Copyright (c) by Tjarda Koster, http://jelloween.deviantart.com included for use in the npm website and documentation, used with permission.

    This program uses several Node modules contained in the node_modules/ subdirectory, according to the terms of their respective licenses.

  • tools/doc/node_modules/marked. Marked is a Markdown parser. Marked's license follows:

    Copyright (c) 2011-2012, Christopher Jeffrey (https://github.com/chjj/)

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  • test/gc/node_modules/weak. Node-weak is a node.js addon that provides garbage collector notifications. Node-weak's license follows:

    Copyright (c) 2011, Ben Noordhuis <info@bnoordhuis.nl>

    Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

  • wrk is located at tools/wrk. wrk's license follows:

    Apache License

    Version 2.0, January 2004

    http://www.apache.org/licenses/

    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

    1. Definitions.

    "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

    "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

    "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

    "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

    "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

    "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

    "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

    "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

    "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

    "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

    2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

    3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

    4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

    (b) You must cause any modified files to carry prominent notices stating that You changed the files; and

    (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

    (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

    5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

    6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

    7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

    8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

    9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

    END OF TERMS AND CONDITIONS

  • ICU's license follows:

    From http://source.icu-project.org/repos/icu/icu/trunk/license.html

    ICU License - ICU 1.8.1 and later

    COPYRIGHT AND PERMISSION NOTICE

    Copyright (c) 1995-2014 International Business Machines Corporation and others

    All rights reserved.

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

    Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.

    All trademarks and registered trademarks mentioned herein are the property of their respective owners.

Third-Party Software Licenses

This section contains third-party software notices and/or additional terms for licensed third-party software components included within ICU libraries.

  1. Unicode Data Files and Software

    COPYRIGHT AND PERMISSION NOTICE

    Copyright © 1991-2014 Unicode, Inc. All rights reserved.

    Distributed under the Terms of Use in http://www.unicode.org/copyright.html.

    Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that

    (a) this copyright and permission notice appear with all copies of the Data Files or Software,

    (b) this copyright and permission notice appear in associated documentation, and

    (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.

    THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER

    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.

    Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.

  2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)

    The Google Chrome software developed by Google is licensed under the BSD license. Other software included in this distribution is provided under other licenses, as set forth below.

    The BSD License

    http://opensource.org/licenses/bsd-license.php

    Copyright (C) 2006-2008, Google Inc.

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    The word list in cjdict.txt are generated by combining three word lists listed below with further processing for compound word breaking. The frequency is generated with an iterative training against Google web corpora.

    * Libtabe (Chinese)

    - https://sourceforge.net/project/?group_id=1519

    - Its license terms and conditions are shown below.

    * IPADIC (Japanese)

    - http://chasen.aist-nara.ac.jp/chasen/distribution.html

    - Its license terms and conditions are shown below.

    Copyright (c) 1999 TaBE Project.

    Copyright (c) 1999 Pai-Hsiang Hsiao.

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of the TaBE Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    Copyright (c) 1999 Computer Systems and Communication Lab,

    Institute of Information Science, Academia Sinica.

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name of the Computer Systems and Communication Lab nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    Copyright 1996 Chih-Hao Tsai @ Beckman Institute, University of Illinois

    c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4

    Copyright 2000, 2001, 2002, 2003 Nara Institute of Science and Technology. All Rights Reserved.

    Use, reproduction, and distribution of this software is permitted. Any copy of this software, whether in its original form or modified, must include both the above copyright notice and the following paragraphs.

    Nara Institute of Science and Technology (NAIST), the copyright holders, disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness, in no event shall NAIST be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortuous action, arising out of or in connection with the use or performance of this software.

    A large portion of the dictionary entries originate from ICOT Free Software. The following conditions for ICOT Free Software applies to the current dictionary as well.

    Each User may also freely distribute the Program, whether in its original form or modified, to any third party or parties, PROVIDED that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear on, or be attached to, the Program, which is distributed substantially in the same form as set out herein and that such intended distribution, if actually made, will neither violate or otherwise contravene any of the laws and regulations of the countries having jurisdiction over the User or the intended distribution itself.

    NO WARRANTY

    The program was produced on an experimental basis in the course of the research and development conducted during the project and is provided to users as so produced on an experimental basis. Accordingly, the program is provided without any warranty whatsoever, whether express, implied, statutory or otherwise. The term "warranty" used herein includes, but is not limited to, any warranty of the quality, performance, merchantability and fitness for a particular purpose of the program and the nonexistence of any infringement or violation of any right of any third party.

    Each user of the program will agree and understand, and be deemed to have agreed and understood, that there is no warranty whatsoever for the program and, accordingly, the entire risk arising from or otherwise connected with the program is assumed by the user.

    Therefore, neither ICOT, the copyright holder, or any other organization that participated in or was otherwise related to the development of the program and their respective officials, directors, officers and other employees shall be held liable for any and all damages, including, without limitation, general, special, incidental and consequential damages, arising out of or otherwise in connection with the use or inability to use the program or any product, material or result produced or otherwise obtained by using the program, regardless of whether they have been advised of, or otherwise had knowledge of, the possibility of such damages at any time during the project or thereafter. Each user will be deemed to have agreed to the foregoing by his or her commencement of use of the program. The term "use" as used herein includes, but is not limited to, the use, modification, copying and distribution of the program and the production of secondary products from the program.

    In the case where the program, whether in its original form or modified, was distributed or delivered to or received by a user from any person, organization or entity other than ICOT, unless it makes or grants independently of ICOT any specific warranty to the user in writing, such person, organization or entity, will also be exempted from and not be held liable to the user for any such damages as noted above as far as the program is concerned.

  3. Lao Word Break Dictionary Data (laodict.txt)

    Copyright (c) 2013 International Business Machines Corporation and others. All Rights Reserved.

    Project: http://code.google.com/p/lao-dictionary/

    Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt

    License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt (copied below)

    This file is derived from the above dictionary, with slight modifications.

    Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  4. Burmese Word Break Dictionary Data (burmesedict.txt)

    Copyright (c) 2014 International Business Machines Corporation and others. All Rights Reserved.

    This list is part of a project hosted at:

    github.com/kanyawtech/myanmar-karen-word-lists

    Copyright (c) 2013, LeRoy Benjamin Sharon

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    • Neither the name Myanmar Karen Word Lists, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  5. Time Zone Database

    ICU uses the public domain data and code derived from Time Zone Database for its time zone support. The ownership of the TZ database is explained in BCP 175: Procedure for Maintaining the Time Zone Database section 7.

    7. Database Ownership

    The TZ database itself is not an IETF Contribution or an IETF document. Rather it is a pre-existing and regularly updated work that is in the public domain, and is intended to remain in the public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do not apply to the TZ Database or contributions that individuals make to it. Should any claims be made and substantiated against the TZ Database, the organization that is providing the IANA Considerations defined in this RFC, under the memorandum of understanding with the IETF, currently ICANN, may act in accordance with all competent court orders. No ownership claims will be made by ICANN or the IETF Trust on the database or the code. Any person making a contribution to the database or code waives all rights to future claims in that contribution or in the TZ Database.

Angular.JS

Copyright (c) 2010-2015 Google, Inc. http://angularjs.org

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

svg-pan-zoom

Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

d3

Copyright (c) 2010-2015, Michael Bostock

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • The name Michael Bostock may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

express

Copyright (c) 2009-2014 TJ Holowaychuk <tj@vision-media.ca>

Copyright (c) 2013-2014 Roman Shtylman <shtylman+expressjs@gmail.com>

Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

nomnom

Copyright (c) 2010 Heather Arthur

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ws

Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

node-xml2js

Copyright 2010, 2011, 2012, 2013. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

libjpeg license

We welcome the use of this software as a component of commercial products.

No royalty is required, but we do ask for an acknowledgement in product documentation, as described under LEGAL ISSUES.

LEGAL ISSUES

In plain English:

1. We don't promise that this software works. (But if you find any bugs, please let us know!)

2. You can use this software for whatever you want. You don't have to pay us.

3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code.

In legalese:

The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you,

its user, assume the entire risk as to its quality and accuracy.

This software is copyright (C) 1991-1998, Thomas G. Lane.

All Rights Reserved except as specified below.

Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:

(1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.

(2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group".

(3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.

These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.

Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software".

We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.

ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.

ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do.

The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable.

It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code.

The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders.

We are required to state that "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."

LibTIFF license

Copyright (c) 1988-1997 Sam Leffler

Copyright (c) 1991-1997 Silicon Graphics, Inc.

Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.

THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

libpng license, June 14, 2012

This copy of the libpng notices is provided for your convenience. In case of any discrepancy between this copy and the notices in the file png.h that is included in the libpng distribution, the latter shall prevail.

COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:

If you modify libpng you may insert additional notices immediately following this sentence.

This code is released under the libpng license.

libpng versions 1.2.6, August 15, 2004, through 1.5.11, June 14, 2012, are Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors:

  • Cosmin Truta

libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors:

  • Simon-Pierre Cadieux

  • Eric S. Raymond

  • Gilles Vollant

and with the following additions to the disclaimer:

There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.

libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-0.96, with the following individuals added to the list of Contributing Authors:

  • Tom Lane

  • Glenn Randers-Pehrson

  • Willem van Schaik

libpng versions 0.89, June 1996, through 0.96, May 1997, are Copyright (c) 1996, 1997 Andreas Dilger

Distributed according to the same disclaimer and license as libpng-0.88, with the following individuals added to the list of Contributing Authors:

  • John Bowler

  • Kevin Bracey

  • Sam Bushell

  • Magnus Holmgren

  • Greg Roelofs

  • Tom Tanner

libpng versions 0.5, May 1995, through 0.88, January 1996, are Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.

For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals:

  • Andreas Dilger

  • Dave Martindale

  • Guy Eric Schalnat

  • Paul Schmidt

  • Tim Wegner

The PNG Reference Library is supplied "AS IS". The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage.

Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions:

1. The origin of this source code must not be misrepresented.

2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source.

3. This Copyright notice may not be removed or altered from any source or altered source distribution.

The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated.

A "png_get_copyright" function is available, for convenient use in "about" boxes and the like:

printf("%s",png_get_copyright(NULL));

Also, the PNG logo (in PNG format, of course) is supplied in the files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).

Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a certification mark of the Open Source Initiative.

Glenn Randers-Pehrson

glennrp at users.sourceforge.net

June 14, 2012

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Libxml2

Except where otherwise noted in the source code (e.g. the files hash.c,list.c and the trio files, which are covered by a similar license but with different Copyright notices) all the files are:

Copyright (C) 1998-2003 Daniel Veillard. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHERIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from him.

Libunwind

Copyright (c) 2002 Hewlett-Packard Co.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except where otherwise noted in the source code (e.g. the files hash.c, list.c and the trio files, which are covered by a similar license but with different Copyright notices) all the files are:

Copyright (C) 1998-2003 Daniel Veillard. All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is fur nished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from him.

Python Software Foundation License Version 2

1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation.

2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.

3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.

4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.

7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.

8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement.

Changes to standard library modules:

A brief summary of changes made to Python 2.5.2 source:

- On Windows*, the code of import, zipimport, and execfile was modified to handle directories containing Unicode characters.

wxWidgets Library

This product includes wxWindows software which can be downloaded from www.wxwidgets.org/downloads.

wxWindows Library License, Version 3.1

Copyright (C) 1998-2005 Julian Smart, Robert Roebling et al

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

WXWINDOWS LIBRARY LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this software, usually in a file named COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,

Boston, MA 02111-1307 USA.

EXCEPTION NOTICE

1. As a special exception, the copyright holders of this library give permission for additional uses of the text contained in this release of the library as licensed under the wxWindows Library License, applying either version 3.1 of the License, or (at your option) any later version of the License as published by the copyright holders of version 3.1 of the License document.

2. The exception is that you may use, copy, link, modify and distribute under your own terms, binary object code versions of works based on the Library.

3. If you copy code from files distributed under the terms of the GNU General Public License or the GNU Library General Public License into a copy of this library, as this license permits, the exception does not apply to the code that you add in this way. To avoid misleading anyone as to the status of such modified files, you must delete this exception notice from such code and/or adjust the licensing conditions notice accordingly.

4. If you write modifications of your own for this library, it is your choice whether to permit this exception to apply to your modifications.

If you do not wish that, you must delete the exception notice from such code and/or adjust the licensing conditions notice accordingly.

zlib.h

zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.3, July 18th, 2005

Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly jloup@gzip.org

Mark Adler madler@alumni.caltech.edu

LevelDB

Copyright (c) 2011 The LevelDB Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

pci.ids

List of PCI ID's

Version: 2014.11.23

Date: 2014-11-23 03:15:02

Maintained by Martin Mares <mj@ucw.cz> and other volunteers from the PCI ID Project at http://pci-ids.ucw.cz/.

New data are always welcome, especially if they are accurate. If you have anything to contribute, please follow the instructions at the web site.

This file can be distributed under either the GNU General Public License # (version 2 or higher) or the 3-clause BSD License.

2017

Linux* Release Notes macOS* Release Notes Windows* Release Notes

This update is optional unless you need the new features.

Overview

  • Support for Microsoft Visual Studio* 2017 Update 3
  • Bug fixes and performance improvements

Linux* Release Notes macOS* Release Notes Windows* Release Notes

This update is optional unless you need the new features.

Overview

  • General Exploration, Memory Access, HPC Performance Characterization analysis types extended to support Intel® Xeon® Processor Scalable family
  • Support for Microsoft Windows* 10 Creators Update (RS2)

Linux* Release Notes macOS* Release Notes Windows* Release Notes

This update is optional unless you need the new features.

Overview

  • Application Performance Snapshot (Preview) provides a quick look at your application performance and helps you understand where your application will benefit from tuning. The revised tool shows metrics on MPI parallelism (Linux* only), OpenMP* parallelism, memory access, FPU utilization, and I/O efficiency with recommendations on further in-depth analysis.
  • Support for Intel® Xeon Phi™ coprocessor targets codenamed Knights Landing
  • Improved insight into parallelism inefficiencies for applications using Intel Threading Building Blocks (Intel TBB) with extended classification of high Overhead and Spin time.
  • Automated installation of the VTune Amplifier collectors on a remote Linux target system. This feature is helpful if you profile a target on a shared resource without VTune Amplifier installed or on an embedded platform where targets may be reset frequently.
  • Support for Microsoft Visual Studio* 2017

Linux* Release Notes OS X* Release Notes Windows* Release Notes

This update is optional unless you need the new features.

Overview

  • All license types now support cross-OS analysis. Installation packages for additional operating systems can be downloaded from the registration center.
  • HPC Performance Characterization analysis improvements
  • DRAM Bandwidth Bound metric in the Memory Usage viewpoint for the Memory Access and HPC Performance Characterization analyses
  • GPU Hotspots Summary view extended to provide the Packet Queue Depth and Packet Duration histograms for the analysis of DMA packet execution.
  • Support for performance analysis of a guest Linux* operating system via Kernel-based Virtual Machine (KVM) from a Linux host system with the KVM Guest OS option
  • Support for mixed Python* and native code in the Locks and Waits analysis
  • Improved Support:
    • Ubuntu* 16.10 and Fedora* 25
    • 7th Generation Intel® Core™ processors (codenamed Kaby Lake)
    • Intel® Atom™ processors (codenamed Apollo Lake and Denverton)
    • Intel® Xeon Phi™ coprocessor targets (codenamed Knights Landing) from Linux* OS host

Details

HPC Performance Characterization Analysis improvements

The HPC Performance Characterization Analysis has received several improvements.

Increased detail and structure for the vector efficiency metrics based on FLOP counters in the FPU Utilization section help diagnose the reason for low utilization connected with poor vector code generation. Relevant metrics include:

  • Vector Capacity Usage
  • FP Instruction Mix
  • FP Arithmetic Instructions per Memory Read or Write
  • SP FLOPs per Cycle (may indicate memory bandwidth bound code)

For MPI applications, the MPI Imbalance metric shows CPU time spent by ranks spinning in waits on communication operations, normalized by the number of ranks on the profiling node. The metric issue detection description generation is based on minimal MPI Busy Wait time by ranks. If the minimal MPI Busy Wait time by ranks is not significant, then the rank with the minimal time most likely lies on the critical path of application execution. In this case, review the CPU utilization metrics by this rank.

The Top Loops/Functions with FPU Usage by CPU Time table shows the top functions that contain floating point operations, sorted by CPU time. The FPU Utilization column provides issue descriptions based on whether a loop/function is bandwidth bound, whether it is vectorized or scalar, and what instruction set it's using.

For Intel Xeon Phi processors (codenamed Knights Landing), the following FPU metrics are available instead of FLOP counters:

  • SIMD instructions per cycle
  • Fraction of packed SIMD instructions vs scalar SIMD instructions per cycle
  • Vector instruction set for loops based on static analysis

DRAM Bandwidth Bound metric

A new metric is available in the Memory Usage viewpoint for the Memory Access and HPC Performance Characterization analyses which indicates whether your system spent much time heavily utilizing the DRAM bandwidth. The calculation of this metric relies on accurate maximum system DRAM bandwidth measurement, and depends on the number of sockets on your system.

GPU Hotspots Summary improvements

The GPU Hotspots viewpoint's Summary tab has been extended to display more information. The GPU Usage section can be used to identify whether the GPU was properly utilized. The Packet Queue Depth Histogram can be used to estimate the GPU software queue depth per GPU engine during the target run. Ideally, your goal is an effective GPU engine utilization with evenly loaded queues and minimal duration for the zero queue depth.

For a high-level view of the DMA packet execution during the target run, review the Packet Duration Histogram. Select a required packet type from the drop-down menu and identify how effectively these packets were executed on the GPU. Having high packet count values for the minimal duration is optimal.

KVM Guest OS Profiling

If you are a system developer and interested in the performance analysis of a guest Linux* system, use Intel VTune Amplifier for performance analysis of this guest Linux* OS via Kernel-based Virtual Machine (KVM) from the host system. Depending on your analysis target, you may choose either of the following usage models for KVM guest OS profiling:

Locks & Waits analysis for Python

Locks and Waits analysis can now be used to tune threaded performance of mixed Python* and native code. View Sync Objects in the grid, see Python frames in the Call Stack, an define which sync objects are the Global Interpreter Lock (GIL), either by wait count or by callstack. Drill down to Python source to explore thread synchronization issues at code level. For more information on how to configure the analysis, see the Python* Code Analysis product help article.

 

 

Linux* Release Notes OS X* Release Notes Windows* Release Notes

  • Support for the Average Latency metric in the Memory Access analysis based on the driverless collection
  • Support for locator hardware event metrics for the General Exploration analysis results in the Source/Assembly view that enable you to filter the data by a metric of interest and identify performance-critical code lines/instructions
  • Command line summary report for the HPC Performance Characterization analysis extended to show metrics for CPU, Memory and FPU performance aspects including performance issue descriptions for metrics that exceed the predefined threshold. To hide issue descriptions in the summary report, use a new report-knob show-issues option.
  • Summary view of the General Exploration analysis extended to explicitly display measure for the hardware metrics: Clockticks vs. Piepline Slots
  • GPU Hotspots analysis extended to detect hottest computing tasks bound by GPU L3 bandwidth
  • PREVIEW: New Full Compute event group added to the list of predefined GPU hardware event groups collected for Intel® HD Graphics and Intel Iris™ Graphics. This group combines metrics from the Overview and Compute Basic presets and allows to see all detected GPU stalled/idle issues in the same view.
  • Support for hotspot navigation and filtering of stack sampling analysis data by the Total type of values in the Source/Assembly view

Linux* Release Notes OS X* Release Notes Windows* Release Notes

Overview

Details

Intel® Xeon Phi™ Processor Support

Intel® VTune™ Amplifier now supports the Intel® Xeon Phi™ Processor codenamed Knights Landing.

Decide how to use MCDRAM (the high bandwidth memory) effectively using Memory Access Analysis, analyze the scalability of MPI and OpenMP* with HPC Performance Characterization Analysis, and explore the microarchitecture efficiency with General Exploration Analysis.

HPC Performance

The HPC Performance Characterization Analysis explores the three key performance aspects of application scalability:

  • Threading: CPU Utilization with parallel efficiency for MPI and OpenMP*. Explore the serial vs parallel time and the top OpenMP regions by potential gain.
  • Memory Access Efficiency: includes bandwidth utilization and stalls by memory hierarchy.
  • FPU utilization: includes basic vectorization metrics.

See the analysis usage example in the Analyzing an OpenMP and MPI Application web-based tutorial, which provides a hands-on exercise to identify memory utilization inefficiencies and load imbalance for a sample hybrid application.

Memory Access Analysis

The Memory Access Analysis has been improved. In addition to support for the Intel Xeon Phi processors, it now supports custom memory allocators, and includes automatic detection of maximum system DRAM bandwidth characteristics and scaling bandwidth data from that maximum. This allows users to easily see how they actually utilize the available DRAM bandwidth, rather than just raw GB/S values. The QPI bandwidth has been split to Total, Outgoing, and Incoming, instead of just the total. The workflow has been optimized for identifying the top memory objects with high bandwidth utilization per domain. Finally, no special drivers are required on Linux*; this analysis type can now use standard Linux* perf to collect data, eliminating the need for root to install other drivers.

Disk I/O Analysis (Preview)

The Disk Input and Output analysis for HDD, SATA, or NVMe SSD monitors utilization of the disk subsystem, CPU, and PCle buses, and helps to identify long latency of I/O requests and imbalance between I/O and compute operations.

See the Analyzing Input/Output Waits tutorial for a hands-on exercise with sample code on Linux*.

GPU analysis improvements

GPU Hotspots Analysis is intended for GPU-bound applications, and provides options to analyze execution of OpenCL™ kernels and Intel® Media™ SKD tasks.

The GPU Analysis Summary provides a set of metrics to estimate the GPU utilization per engine, identify stalled or idle execution units, and explore the most typical problems with low occupancy or frequent sampler accesses. Navigate from the Hottest GPU computing tasks summary to the details provided in the graphics tab.

Intel VTune Amplifier now also supports the detection of OpenCL 2.0 Shared Virtual Memory (SVM) usage types per kernel instance.

For more information, see Using Intel VTune Amplifier to Optimize Media & Video Applications.

Usability Improvements

Remote usage and Command Line usage have been improved. Use the Arbitrary target GUI configuration to generate a command line for performance analysis on a system that is not accessible from the current host.

MPI analysis has been extended with the event-based sampling collection supported for multiple ranks per node with an arbitrary MPI launcher and natural syntax. Use the MPI launcher option in the arbitrary targets configuration to automatically generate a command line for MPI analysis from the GUI.

An option for enabling and disabling the OpenMP regions analysis has been added to selected analysis configurations.

Support has been added for the Attach To Process target type with event-based sampling for low-privilege Java* daemons on Linux*.

The event selection mechanism for custom hardware event based sampling has been extended with filtering options.

The grid views and identification of performance issues have had UI improvements made.

Intel® Performance Snapshot (Preview)

The Application Performance Snapshot tool provides a quick look at your application performance and helps you understand whether your application will benefit from tuning.

It identifies how effectively your application uses the hardware platform and displays basic performance enhancement opportunities.

The Storage Performance Snapshot tool analyzes your system's storage, CPU, memory, and network usage and displays basic performance enhancement opportunities for systems using Intel hardware.