Quantcast
Channel: Intel Developer Zone Articles
Viewing all 3384 articles
Browse latest View live

Intel® Graphics Performance Analyzers 2014 R2 Release Notes

$
0
0

Thank you for choosing the Intel® Graphics Performance Analyzers (Intel® GPA).

What's New in Intel® GPA 2014 R2

New Features for Analyzing Windows* Applications

Intel GPA Frame Analyzer

  • Added support for Windows* 8 Store applications using traditional Microsoft DirectX* rendering.

Intel GPA System Analyzer

  • The GPU Frequency metric is now shown in the System View.

Intel GPA Monitor

  • Added detection for Secure Boot/Trusted Boot to alert users to incompatibilities with application analysis when this BIOS feature is enabled.

Intel GPA Platform Analyzer

  • DMA packet domains are now visible on the GPU Queue, allowing for fast identification of scheduled OpenCL™ and media related tasks.

New Features for Analyzing Android* Applications

Intel GPA Frame Analyzer

  • Resources are now compressed when frame captures are taken, leading to a faster playback response time to a connected device.

Intel GPA Platform Analyzer

  • Intel GPA Platform Analyzer now includes a visualization for tasks on the GPU Queue for traces captured on devices with Intel® processor codenamed Bay Trail.

(Beta) Support for ARM*-Based Devices

  • The following Intel GPA components now include beta-level support for third-party devices:
    • Intel GPA System Analyzer
    • Intel GPA Frame Analyzer (no metrics are available)
    • Intel Frame Debugger

    For details, see this article.
    The following devices have been tested with Intel GPA:

ModelGPUAndroid* Version

Samsung* Galaxy Nexus (GT-i9250)

Imagination Technologies* PowerVR SGX540

Android 4.3

Samsung* Galaxy S4 (GT-I9500ZNASER)

Imagination Technologies* PowerVR SGX544

Android 4.4

Samsung* Galaxy S III (GT-i9300)

ARM* Mali 400MP

Android 4.3

Google* Nexus 4

Qualcomm* Adreno 320

Android 4.4

Google* Nexus 5

Qualcomm* Adreno 330

Android 4.4

LG* G2 D802

Qualcomm* Adreno 330

Android 4.4

Amazon* Kindle Fire HD

Imagination Technologies* PowerVR SGX544

Amazon* Fire OS 3.0

Intel GPA Overview

Intel GPA is a suite of tools for graphics analysis and optimization that can help you make games and other graphics-intensive applications run even faster. Intel GPA supports the platforms based on the latest generations of Intel Core™ and Intel Atom™ processor families, for applications developed for either Windows* OS or Android*.

Intel GPA provides a common and integrated user interface for collecting performance data. Using Intel GPA, you can quickly see performance opportunities in your application, saving your time and getting your product to market faster.

For analyzing games running on Windows* OS platforms, Intel GPA provides the following components:

  • Intel GPA Monitor: enables you to launch applications, automatically detect launched applications, set tracing options, configure Heads-Up Display mode, and set keyboard shortcuts. With the Intel GPA Monitor, you can set up a trigger of a certain profile and enable domains that you wish to trace.
  • Intel GPA System Analyzer HUD (Heads-Up Display): collects and displays hardware and software metrics data from your application in real time, and enables experimentation via Microsoft* Direct3D pipeline state overrides. Use this tool to understand the high-level performance profile of your graphics application, and determine whether your application is CPU-bound or GPU-bound.
    • For a GPU-bound application, use the Intel GPA Frame Analyzer to analyze a captured frame with a low frame rate.
    • For a CPU-bound application, use the Intel GPA Platform Analyzer to show how the various CPU tasks within your application are executed.
  • Intel GPA System Analyzer: This remote version of the Intel GPA System Analyzer HUD allows client/target analysis over a network connection, enabling minimum overhead on platforms with limited resources such as smartphones, netbooks, and Ultrabook™ devices. You can also use the Intel GPA System Analyzer for local profiling with dual monitors or non-full screen applications. It provides some additional features over the HUD, including the ability to graph more metrics simultaneously, and convenient drag and drop functionality for adding new metrics.
  • Intel GPA Frame Analyzer: Provides a detailed view of a captured frame file, which contains all Microsoft DirectX* context used to render the selected 3D frame, as well as per-draw call/region GPU metrics. This tool enables you to understand the performance of your application at the frame level, render target level, and draw call level. It enables detailed analysis and "what if" optimization experiments without the need to recompile or rebuild your application.
  • Intel GPA Platform Analyzer: Using Intel GPA Platform Analyzer you can:
    • Explore GPU usage per process at each moment of time.
    • Correlate CPU and GPU activity and identify whether your application is GPU or CPU bound.
    • Explore your application performance for user tasks created with Intel ITT API.
    • Identify GPU and CPU application frame rate.
    • Explore the performance of your application per selected GPU metrics over time.
    • Use the GPU Queue representation to analyze a software queue for GPU engines at each moment of time.
    • Use VSync markers to see how game rendering is aligned with VSync events. This feature is useful for profiling latency-critical applications, since you can clearly see if frame is rendered during the VSync interval.
    • Use CPU context switches to check CPU threads execution over time: see when a thread is active and when it is waiting for a synchronization object.
    • Correlate Intel® GPA System Analyzer HUD metrics represented as graph charts with other data.

For analyzing games running on Android* platforms, Intel GPA offers the following components:

  • Intel GPA System Analyzer: Intel GPA System Analyzer for Android* devices is intended for optimizing OpenGL* ES workloads. When connected to an Android* device, the Intel GPA System Analyzer provides OpenGL* ES API, CPU, and GPU performance metrics, as well as multiple graphics pipeline state overrides that can help you analyze OpenGL* ES application performance.
  • Intel GPA Frame Analyzer: Intel GPA Frame Analyzer for Android* devices allows deep analysis of OpenGL* ES games for Android*.
  • Intel GPA Platform Analyzer: Intel GPA Platform Analyzer for Android* devices allows deep analysis of OpenGL* ES games for Android* devices based on the Intel® processor codenamed Bay Trail with Intel Processor Graphics (root access is required) or Intel® Atom™ processors with PowerVR* Graphics. You cannot use this tool on Ubuntu* OS or OS X* analysis systems.
    • Explore GPU usage per process at each moment of time.
    • Correlate CPU and GPU activity and identify whether your application is GPU or CPU bound.
    • Analyze OpenGL* ES calls (draw calls, buffer locks, resource updates, presents).
    • Explore your application performance for user tasks created with Intel ITT API.
    • Identify GPU frame rate.
    • Explore the performance of your application per selected GPU metrics over time.

For additional information and assistance in using the product, refer to the following Intel GPA online resources:

System Requirements and Supported Platforms

Minimum requirements for client systems used to analyze Windows* OS or Android* workloads are: Intel® Core™ Processor with a minimum of 2GB of memory. At least 4GB of memory is highly recommended. To do frame profiling you need a Windows* 64-bit OS installed.

  • Client Processor: Intel® Core™ Processor
  • Target Processor: 1.6GHz
  • System Memory: 2GB RAM (4GB recommended)
  • Video Memory: 512MB RAM
  • Minimum resolution: 1280x1024
  • Disk Space: 300MB for minimal product installation

The table below shows platforms and applications supported by Intel GPA 2014 R2.

Target Platform
(the system where your game runs)
Client Platform
(your analysis system)
Target Application
(types of supported applications running on the target platform)

Windows* 7 SP1 OS

Windows* 7 SP1/8/8.1 OS

Microsoft* DirectX* 9/9Ex, 10.0/10.1, 11

Windows* 8/8.1 OS

Windows* 7 SP1/8/8.1 OS

Microsoft* DirectX* 9/9Ex, 10.0/10.1, 11
or
Windows* 8/8.1 Store Applications

Google* Android* 4.0, 4.1, 4.2, 4.4
(Phones and tablets based on Intel® Atom™ processor with PowerVR* graphics and Intel® processor codenamed Bay Trail.

NOTE: Intel GPA Frame Analyzer does not currently support GPU metrics for the Intel® processor codenamed Medfield and Intel® processor codenamed Clover Trail+.

Windows* 7 SP1/8/8.1 OS
or
OS X* 10.8, 10.9  
or
Ubuntu* OS 11.10, 12.04

OpenGL* ES 1.0, 1.1, 2.0

Intel GPA supports the following graphics devices as targets for analyzing Windows* OS workloads. All these targets have enhanced metric support:

  • Intel HD Graphics 2000/3000 (2nd Generation Intel Core™ Processors)
  • Intel HD Graphics 2500/4000 (3rd Generation Intel Core™ Processors)
  • Intel HD Graphics 4200/4400/4600/5000 (4th Generation Intel Core™ Processors)
  • Intel Iris™ Graphics 5100 (4th Generation Intel Core™ Processors)
  • Intel Iris™ Pro Graphics 5200 (4th Generation Intel Core™ Processors)

Although Intel GPA may work with other graphics devices, they are unsupported. Some features and metrics may not be available on unsupported platforms. If you run into in an issue when using Intel GPA with any supported or unsupported graphics device, please report this issue through the Intel GPA Support Forum.

Check also known issues and limitations for operating system support and platform and device support.

Driver Requirements for Intel HD Graphics

When running Intel GPA on platforms with supported Intel HD Graphics, Intel GPA requires the latest graphics drivers for proper operation. You may download and install the latest graphics drivers from http://downloadcenter.intel.com/.

Intel GPA inspects your current driver version and notifies you if your driver is out of date.

Windows* OS Client Specifics

Installing Intel GPA on Windows* OS Target and Client Platforms

Once you have downloaded the self-extracting .exe file:

  1. Open the self-extracting executable file.
  2. Run setup.exe located in the top-level directory of the extracted files.
  3. Install the product from an Administrator account.

If you use the product in a client/target configuration, install Intel GPA on both systems. For more information on the client/target configuration, refer to Best Practices.
The installer automatically installs the following prerequisites if needed:

  • Microsoft DirectX* Runtime June 2010
  • Microsoft .NET 4.0 (via redirection to an external web site for download and installation)

Updating Intel GPA

If you have an earlier version of Intel GPA installed:

  • Before installing Intel GPA, close all Intel GPA tools and any target applications that were started after using the Auto-detect launched applications option within the Intel GPA Monitor. Otherwise, the Files in Use dialog box will appear, indicating which applications must be closed before installation can proceed.
  • You can manually remove earlier Intel GPA versions later from the Windows* OS Control Panel.

For details refer to Intel GPA Updates on Windows* OS.

Intel GPA Frame Analyzer for Android* Applications

Intel GPA Frame Analyzer for Android* devices based on Intel processor codenamed Bay Trail enables you to perform deep analysis of OpenGL* ES games for Android*.

Performing Frame Analysis on Android* Devices

Please follow the instructions below to start analyzing your Android* application.

  1. Install Intel GPA to the default directory.
  2. Connect the device to your system. Note that the device must be connected at all times.
  3. Run the Intel GPA Monitor, if it is not already running.
  4. Run the Intel GPA System Analyzer from the Windows* Start menu or Windows* 8 Application View.
  5. Connect to the device via the Intel GPA System Analyzer.
  6. Using the Intel GPA System Analyzer, select the target application from the list of applications on the device.
  7. Create a frame capture file: click the Frame Capture Icon , or use the hotkey Ctrl+Shift+C.
  8. Close the Intel GPA System Analyzer.
  9. Open the Intel GPA Frame Analyzer.
  10. Select the created frame capture file from the Open dialog box.
  11. Ensure your device is correctly selected as the device to test against in the dialog box.
  12. Open the frame capture file in Intel GPA Frame Analyzer.

Note: The device must be connected to your analysis system at all times when you create a frame capture file with the Intel GPA System Analyzer and analyze a frame capture file with the Intel GPA Frame Analyzer.

Ubuntu* OS Client Specifics

Installing Intel GPA on Ubuntu* OS Client Platform

Follow the steps listed below to install the Intel GPA System Analyzer on a system with an Ubuntu* OS:

  1. Make sure that the sharutils package is installed on your client machine.
  2. For an x86 system:
    • Change file permissions by running the command chmod 755 intel-gpa_14.2_m32.deb.shar.
    • Execute the .shar file by running the command ./intel-gpa_14.2_m32.deb.shar.
  3. For an x64 system:
    • Change file permissions by running the command chmod 755 intel-gpa_14.2_m64.deb.shar
    • Execute the .shar file by running the command ./intel-gpa_14.2_m64.deb.shar.
  4. Read the end-user license agreement (EULA), and if you agree to the terms and conditions of the EULA then enter Y to accept the agreement.
  5. Double-click the extracted .deb package to install it using the Ubuntu* OS package manager.

NOTE: You do not need to explicitly install Intel GPA on the Android* OS target device since Intel GPA automatically installs the necessary files on the target device when you run Intel GPA System Analyzer.

Updating Intel GPA

For details refer to Intel GPA Updates on Ubuntu* OS.

OS* X Client Specifics

Installing Intel GPA on OS X* Client Platform

Follow the steps listed below to install the Intel GPA System Analyzer on a system with OS X*:

  1. Mount the disk image SystemAnalyzer.dmg into the machine by double-clicking the file.
  2. Read the end-user license agreement (EULA). If you agree to the terms and conditions of the EULA, click Agree to accept the agreement.
    A new Finder window will appear.
  3. Drag and drop the Intel GPA System Analyzer icon to the Applications directory.

NOTE: You do not need to explicitly install Intel GPA on the Android* OS target device since Intel GPA automatically installs the necessary files on the target device when you run the Intel GPA System Analyzer.

Updating Intel GPA

For details refer to Intel GPA Updates on OS* X.

Analyzing Android* OS Applications

To get started with the Intel GPA on Android* OS, refer to the Intel GPA Help section "Analyzing Android* OS Applications" .

To use the Intel GPA System Analyzer on Android* OS devices devices based on Intel® architecture, you need:

  • A mobile device with Android* OS based on Intel® architecture.
  • The latest version of Android* SDK installed on the client system.
  • Successfully established Android* Debug Bridge (adb) USB connection between the Android* device and the client system.

For information on how to set up the Android* Debug Bridge USB connection for the Intel-based mobile devices, refer to the Online Help.

Troubleshooting Android* OS Connection Problems

If the target device does not appear when the "adb devices" command is executed on the client system, do the following:

  1. Disconnect the device
  2. Execute "adb kill-server"
  3. Reconnect the device
  4. Run "adb devices"

If these steps do not help, restart the system and then run "adb devices" again.

Intel GPA Known Issues and Limitations

Operating System Support

  • Intel GPA provides limited support for analyzing browser workloads on Android*. You can view metrics in the Intel GPA System Analyzer, but Intel GPA does not support creating or viewing frame capture files or trace capture files for browser workloads. Attempting to create or view these files may result in incorrect results or program crashes.
  • Intel GPA Frame Analyzer is no longer supported on 32-bit versions of Windows* 7 and Windows* 8/8.1 OS. The installation package will not install this application when a 32-bit Windows* OS is detected.
  • Intel GPA does not support the following Windows* OS configurations: all server editions, Windows* 8 RT, or Windows* 7 starter kit. For details, please see this article.
  • Secure Boot, also known as Trusted Boot, is a new security feature in Windows* 8 enabled in BIOS settings which can cause unpredictable behavior when the "Auto-detect launched applications" option is enabled in Intel GPA Monitor Preferences. Disable Secure Boot in the BIOS to use the auto-detection feature for analyzing application performance with Intel GPA.

Platform and Device Support

  • To run Intel GPA on hybrid graphics solutions (a combination of Intel Processor Graphics and third-party discrete graphics), you must first disable one of the graphics solutions.
  • Intel GPA supports Android* tablets based on the Intel processor codenamed Bay Trail.
  • Intel Atom™ based phones that have been validated with Intel GPA System Analyzer are:
    • MegaFon Mint*
    • Orange San Diego*
    • Lava XOLO X900*
    • Lenovo K900*
    • Motorola RAZR I*
    • Samsung* Galaxy Tab 3 10.1
  • Third party Android* OS devices are unsupported. You should not attempt to run Intel GPA on unsupported Android* OS devices.

Intel GPA Frame Analyzer for Android* Applications

  • Intel GPA Frame Analyzer for Android* is only targeted for devices based on Intel processor codenamed Bay Trail. It may work in some limited capability with other Intel devices, but will not have metrics information that comes from the device, and may crash on some workloads.
  • Intel GPA Frame Analyzer for Android* is currently supported on Windows* OS 64-bit systems only. Please use a Windows* OS 64-bit development system when analyzing workloads on devices based on Intel processor codenamed Bay Trail.

Intel GPA for Windows* OS Target and Analysis Platforms

  • You can use GPA to analyze a variety of hardware-accelerated content running in common browsers such as Microsoft* Internet Explorer* 9, Google* Chrome*, and Mozilla* Firefox*. For the latest details on browser support include browser versions, see Optimizing Graphics-Rich Web Content.

General

  • To ensure accurate measurements on platforms based on Intel® HD Graphics, be sure to profile your application in the full-screen mode. If windowed mode is required, make sure only your application is running. Intel GPA does not support profiling multiple applications simultaneously.
  • For best results when analyzing frame or trace capture files on the same system where you run your game, follow these steps:
    • Run your game and capture a frame or trace file
    • Shut down your game and other non-essential applications
    • Launch the Intel GPA analysis tools
  • To view the full metric set with Intel GPA for Intel Processor Graphics on systems with one or more third-party graphics device(s) and platforms based on Intel® HD Graphics, ensure that Intel is the preferred graphics processor. You can set this in the Control Panel application for the 3rd party hardware. Applications running under Intel GPA and a third-party device show GPU metrics on DirectX* 9 as initialized to 0 and on DirectX* 10/11 as unavailable.
  • Intel GPA uses sophisticated techniques for analyzing graphics performance which may conflict with third-party performance analyzers. Therefore, ensure that other performance analyzers are disabled prior to running Intel GPA. For third-party graphics, consult the vendor's website.
  • When using the Intel GPA tools, be sure to disable the screen saver and power management features on the target machine running the Intel GPA Monitor — the Screen Saver interferes with the quality of the metrics data being collected. In addition, if the target system is locked (which may happen when a Screen Saver starts), the connection from the analysis system to the target system will be terminated..
  • Intel GPA does not support frame capture or analysis for:
    • applications that execute on the Debug D3D runtime system
    • applications that use the Reference D3D Device
    • Windows* Store Applications running on Windows* 8 OS
  • Intel GPA System Analyzer HUD may not operate properly when applications use copy-protection, anti-debugging mechanisms, or non-standard encrypted launching schemes.
  • Intel GPA provides analysis functionality by inserting itself between your application and Microsoft DirectX*. Therefore, Intel GPA may not work correctly with certain applications which themselves hook or intercept DirectX* APIs or interfaces.
  • Intel GPA System Analyzer is the only Intel GPA tool supported on Ubuntu* OS and OS X* analysis systems.
  • Intel GPA does not support Windows* 8 OS Store Applications written in HTML5..
  • Intel GPA does not support use of Remote Desktop Connection.
  • If you are linking against the dynamic version of Intel® ITT library while using an older version of Microsoft Visual Studio such as 2008 or 2005, you must have the following Microsoft Windows security hotfixes installed:
    • Visual Studio 2005: KB2538218
    • Visual Studio 2008: KB2538241

    If upgrading to a more recent Visual Studio version is not possible, and you are unable to update to use the following hotfixes, you must link against the static library (DirectTrace.lib and/or gpasdk_s.lib).

Intel GPA System Analyzer

  • When performing platform-wide analysis with System View on Windows targets, users will not see metric data until they back out to the application list and select System View again. This issue only affects Windows targets and will be addressed in a subsequent GPA 2014 R2 sprint release.

Intel GPA Frame Analyzer

  • In some cases, the Overview tab in Frame Analyzer can present GPU Duration values higher than Frame Duration values measured during game run time. There are two reasons for this:
    • On Intel® HD Graphics 2500/4000/4200/4400/4600/5000 and Intel® Iris and Iris Pro graphics, driver version 15.31.3131 has an issue that prevents the GPU from running at Turbo frequency on the target machine during the Frame Analyzer session. This issue was resolved as of internal driver version 15.31.3186. Stay tuned for driver updates at: http://downloadcenter.intel.com/.
    • Frame Analyzer plays the captured frame back in off-screen mode which can be slower than on-screen rendering done in the game.

    To get more precise GPU Duration measurements we recommend using the driver version 15.31.3177 or higher. It will make the GPU run at Turbo frequency during frame analysis.

    To make playback run on-screen use this registry setting on the Target system: HKEY_CURRENT_USER\Software\Intel\GPA\14.2\ForceOnScreenPlaybackForRemoteFA = 1 and connect to the target with Frame Analyzer running on a separate host. If these requirements are met then the playback will run in off-screen mode on the target. If the frame was captured from the full-screen game, but playback renders it in a windowed mode, then try to use Alt+Enter on the target to switch playback to full-screen mode.

  • Intel GPA Frame Analyzer runs best on systems with a minimum of 4GB of physical memory. Additionally, consider running the Intel GPA Frame Analyzer in a networked configuration (the server is your target graphics device, and the client running the Intel GPA Frame Analyzer tool is a 64-bit OS with at least 4GB of memory).
    On 64-bit operating systems with <4GB of memory, warning messages, parse errors, very long load times, or other issues may occur when loading a large or complex frame capture file.
  • Frame capture using Intel GPA Monitor runs best on 64-bit operating systems with a minimum of 4GB of physical memory.
    On 32-bit operating systems (or 64-bit operating systems with <4GB of memory), out of memory or capture failed messages can occur.

 

* Other names and brands may be claimed as the property of others.

03-17-2014
03-17-2014
Tech Articles
Intel® GPA
 
/sites/default/files/managed/6a/82/intel-gpa-boxshot.png
This article contains the online version of the Release Notes for the Intel® Graphics Performance Analyzers product (Intel® GPA). This document provides system requirements, installation instructions, issues and limitations, and legal information.

Intel® Frame Debugger Release Notes

$
0
0

Thank you for choosing the Intel® Frame Debugger for debugging your Android* game or application. These Release Notes provide information about the product new features, system requirements and installation instructions, as well as lists known issues and limitations.

Intel® Frame Debugger Overview

Intel® Frame Debugger enables you to find the root cause of rendering issues in your Android* application, such as unsupported OpenGL* ES extensions, misplaced objects, issues with shadowing, lighting, or color schemes. Using frame capture files, Intel Frame Debugger displays detailed information on all visual changes that occur inside the frame on each rendering stage, function by function. This enables you to locate the exact API call that causes a rendering issue.

For additional information and assistance in using the product, refer to the following online resources:

What's New
  • OpenGL ES 2.0 states can now be edited.
  • Dynamic textures are now supported.
  • Uniforms can be edited.
  • Limited support for ARM*-based devices is introduced.
  • Alpha channel visualization for textures in Graphics Pipeline View can be switched on and off.
  • Shaders and binary program replacement is now supported.
  • Compatibility check for shader extensions is now supported.
  • Multiple UI enhancements: dark UI color scheme, improved full screen mode, improved touch support, etc.
  • Automatic checks for software updates.
System Requirements and Supported Platforms

Minimum requirements for client systems used to debug Android* workloads are: Intel® Core™ Processor with a minimum of 2GB of memory. At least 4GB of memory is highly recommended. To perform frame debugging, you need to run Intel Frame Debugger on a Windows* OS 64-bit system.

  • Client Processor: Intel® Core™ Processor
  • System Memory: 2GB RAM (4GB recommended)
  • Video Memory: 512MB RAM
  • Minimum resolution: 1280x1024
  • Disk Space: 80MB for minimal product installation

The table below shows platforms and applications supported by Intel Frame Debugger.

Target Platform
(the system where your game runs)
Client Platform
(your analysis system)
Target Application
(types of supported applications running on the target platform)

Google* Android* 4.0, 4.1, 4.2, 4.4 (Devices based on Intel® Architecture)

Windows* 7 SP1/8/8.1 OS

OpenGL* ES 1.0, 1.1, 2.0

(Beta) Support for ARM*-Based Devices

Intel Frame Debugger now includes beta-level support for the following ARM*-based device configurations:

 

ModelGPUAndroid version

Samsung* Galaxy Nexus (GT-i9250)

Imagination Technologies* PowerVR SGX540

Android 4.3

Samsung* Galaxy S4 (GT-I9500ZNASER)

Imagination Technologies* PowerVR SGX544

Android 4.4

Samsung* Galaxy S III (GT-i9300)

ARM* Mali 400MP

Android 4.3

Nexus 4

Qualcomm* Adreno 320

Android 4.4

Nexus 5

Qualcomm* Adreno 330

Android 4.4

LG* G2 D802

Qualcomm* Adreno 330

Android 4.4

Amazon* Kindle Fire HD

Imagination Technologies* PowerVR SGX544

Amazon* Fire OS 3.0

Intel Frame Debugger may run with other ARM*-based devices, but they are not supported.

Windows* OS Client Specifics

Installing Intel Frame Debugger on Windows* OS Analysis Platforms

To install Intel Frame Debugger on Windows* OS, download the IntelFrameDebugger_x64.msi file from Intel GPA home page and run the installer.

Debugging Android* Frames

Using Intel Frame Debugger, you can debug Android* applications if the following conditions are met:

  • Your application runs on an Android* device based on Intel® architecture, or on an ARM*-based device that appears in the table above.
  • The latest version of Android* SDK is installed on the client system.
  • Android* Debug Bridge (adb) USB connection is successfully established between the Android* device and the client system.

For information on how to set up the Android* Debug Bridge USB connection for the Intel-based mobile devices, refer to the online help.

Troubleshooting Android* OS Connection Problems

If the target device does not appear when the "adb devices" command is executed on the client system, do the following:

  1. Disconnect the device
  2. Execute "adb kill-server"
  3. Reconnect the device
  4. Run "adb devices"

If these steps do not help, restart the system and then run "adb devices" again.

Once your system is set up, you can start debugging Android* applications. For details, see the Debugging on Android* topic of online help.

Intel Frame Debugger Known Issues and Limitations
  • Intel Frame Debugger does not support profiling browsers on Android*.
  • Intel Frame Debugger runs best on systems with a minimum of 4GB of physical memory.
  • Intel Frame Debugger may fail to replay frames which extensively use multi-context rendering.
  • EGLImage sharing across OpenGL* ES contexts is not supported. Intel Frame Debugger may fail to render such frames properly.
06-02-2014
06-02-2014
Tech Articles
Intel® GPA
 
/sites/default/files/managed/6a/82/intel-gpa-boxshot.png
This article contains the online version of the Release Notes for the Intel® Frame Debugger.

Announcing update to Intel® Graphics Performance Analyzers Version 2014 R2

$
0
0
Announcing update to Intel® Graphics Performance Analyzers 2014 R2

May 27th, 2014
 

Introduction



Intel® Graphics Performance Analyzers (Intel® GPA) is a powerful, agile developer tool suite for analyzing and optimizing games, media, and other graphics-intensive applications. The product supports applications intended for the Windows* OS platforms or Intel® Atom™ processor based devices and a very limited set of ARM* based devices running the Android* OS. The toolset is a free download from the Intel GPA Home Page or INDE Web Site.

Available now, Intel GPA 2014 R2 Update includes these key features:

Features for Analyzing Windows* Applications

Intel GPA Frame Analyzer

  • Support for Windows* 8 Store applications using traditional Microsoft DirectX* rendering

Intel GPA System Analyzer

  • The GPU Frequency metric added to the System View

Intel GPA Monitor

  • Detection for Secure Boot/Trusted Boot to alert users to incompatibilities with application analysis when this BIOS feature is enabled

Intel GPA Platform Analyzer

  • Data on DMA packet domains provided on the GPU Queue enabling easy identification of scheduled OpenCL™ kernels and media related tasks

Features for Analyzing Android* Applications

Intel GPA Frame Analyzer

  • Resources compression when frame captures are taken, leading to faster playback response time to a connected device.

Support for ARM-Based Devices (Beta)

  • Beta-level support for a limited set of ARM devices in the following tools: Intel GPA System Analyzer, Intel GPA Frame Analyzer (no metrics) and Intel Frame Debugger. For details, see this article

Intel Frame Debugger (Gold)

  • Editable OpenGL ES 2.0 states
  • Support for dynamic textures
  • Editable uniforms
  • Limited support for ARM-based devices
  • Support for the switch-off/on states for alpha channel visualization for textures in Graphics Pipeline View.
  • Support for shaders and binary program replacement
  • Compatibility check for shader extensions
  • Automatic checks for software updates
  • Multiple UI enhancements: dark UI color scheme, improved full screen mode, improved touch support, etc.

The product also adds other minor enhancements and stability improvements. You can download and install this latest version of the product from the Intel GPA Home Page.

Next Steps

To find out more about the Intel® GPA tool suite, check out one or more of these on-line resources:

  • Intel GPA Release Notes: Explore recent updates, detailed product requirements, installation information, legal information, and version-specific technical issues and workarounds for the product.
  • Intel GPA Home Page: View detailed information about the tool, including links to training and support resources, as well as videos on the product to help you get started quickly.
  • Intel GPA On-line Help: Explore details on the product tools and metrics for various platforms.
  • Intel GPA Support Forum: Ask questions or report issues about the product, or let us know what other features would help make the tools more useful for your workflow.
  • Intel GPA Knowledge Base Articles: Explore a list of useful technical articles, including tips & tricks and workarounds to help you get the most out of the product.
  • Intel GPA Getting Started Guide for Windows* OS: If you are new to Intel GPA, this is the place to start for analyzing Microsoft DirectX applications running on the Microsoft Windows OS -- we introduce you to the key concepts of the product, getting you up and running with the tools in no time at all!
  • Intel GPA Getting Started Guide for Android* OS: An Android-specific version of the Getting Started Guide -- everything you need to know to start using Intel GPA to analyze Android* OS applications running on Intel® Atom™ based phones.
  • 4th Generation Intel® Core™ Processor (microarchitecture code name Haswell): Get an overview of the latest processors from Intel, including detailed information about the architecture. Also, you'll find a Graphics Developers Guide showing how to optimize your games and graphics applications for systems based on this architecture.

* Other names and brands may be claimed as the property of others.

Using Intel® GPA with ARM*-Based Android* Devices

$
0
0

Intel® Graphics Performance Analyzers (Intel® GPA) 2014 R2 release introduces support for many popular Android phones and tablets based on the ARM* architecture. See below for the full list of supported devices.

System requirements:

  • Your ARM*-based device is running Android* 4.0, 4.1, 4.2, 4.3, or 4.4.
  • Your analysis system is 64-bit and is running Windows* 7 SP1/8/8.1 OS
  • Your Android* application uses OpenGL* ES 1.0, 1.1, or 2.0

If your Android* game is running on an ARM*-based device, you can benefit from the following Intel GPA features:
System Analysis: Analyze CPU, platform, and OpenGL* ES API metrics in real time using the Intel GPA System Analyzer.
Asset Inspection: Explore game assets for each frame in the Intel GPA Frame Analyzer.
Debugging: Use Intel® Frame Debugger to troubleshoot rendering issues in your Android* applications:

  • ​Check whether your application is compatible with various Android* devices based on ARM* architecture or Intel® architecture
  • Solve issues with shadowing, lighting, or color schemes.
  • Debug rendering issues in the captured frames by locating API errors and experimenting with shaders, textures, states, and uniforms.

NOTE: At this time, the following features are not available for ARM-based devices, and are only available for Android* devices based on the Intel® architecture:

  • GPU hardware metrics with Intel GPA System Analyzer on devices based on Intel® Atom™ processor with PowerVR* Graphics (Series 5)
  • Creating trace-capture files and performing platform analysis with Intel GPA Platform Analyzer
  • Performance analysis with Intel GPA Frame Analyzer

The Intel GPA toolset supports the following ARM-based device configurations:

ModelGPUAndroid* Version

Samsung* Galaxy Nexus (GT-i9250)

Imagination Technologies* PowerVR SGX540

Android 4.3

Samsung* Galaxy S4 (GT-I9500ZNASER)

Imagination Technologies* PowerVR SGX544

Android 4.4

Samsung* Galaxy S III (GT-i9300)

ARM* Mali 400MP

Android 4.3

Google* Nexus 4

Qualcomm* Adreno 320

Android 4.4

Google* Nexus 5

Qualcomm* Adreno 330

Android 4.4

LG* G2 D802

Qualcomm* Adreno 330

Android 4.4

Amazon* Kindle Fire HD

Imagination Technologies* PowerVR SGX544

Amazon* Fire OS 3.0


ARM*-based devices not shown on the above list are unsupported, but may still work with the Intel GPA toolset.
You can download Intel® GPA from the Intel GPA Home Page or the Intel INDE Home Page.
For details about using Intel GPA on various supported configurations, see the following resources:

If you have any feedback, please post your comments and suggestions on the Intel GPA Support Forum.

06-02-2014
06-02-2014
Tech Articles
Intel® GPA
 
/sites/default/files/managed/6a/82/intel-gpa-boxshot.png
text

Intel® Cache Acceleration Software: A Primer

$
0
0

By copying frequently accessed enterprise data onto fast Intel® Solid State Drives, Intel® Cache Acceleration Software (Intel® CAS) delivers striking increases in workload I/O performance: for example, it delivers up to three times more performance on transactional database processing and up to 20 times faster processing of read-intensive business analytics.1

This article helps both business-oriented and technology-focused decision makers streamline the process of assessing the technology.

Enterprise data stores continue to grow dramatically, as does the performance of processors built to create value and intelligence from that data. The Intel® Xeon® processor E7 v2 family, for example, delivers up to double the average performance of previous platforms, and it has three times the memory capacity.2 Data center applications that take advantage of that performance commonly dispatch workloads so quickly that they can become starved of data, constrained by the limitations of conventional hard disk drives (HDDs) based on spinning magnetic disks.

Solid state drives (SDDs) have offered a ready alternative, with superior performance compared to HDDs for the most demanding data center workloads. However, cost considerations have led many budget-conscious enterprises to limit their use of SSDs. Intel CAS can easily deliver enormous performance gains with a relatively minor addition of SSDs, while retaining existing investments in conventional HDDs. At a high level, the solution uses the following mechanism:

  • Identify which data to cache. Intel CAS applies algorithms to assess which data would deliver the most value by being cached; IT policy can also lock specific data into the cache, such as to meet a particular SLA.
  • Copy that data to the SSD. The data is available to the processor far more rapidly from the SSD than it would be from its primary location on the HDD-based main data store.
  • Continually reassess optimal cache usage. Intel CAS dynamically identifies which data will deliver the most benefit by being cached, based on changing workloads.

This article provides an overview of Intel CAS, its implementation, and its benefits to particular environments. In addition to acting as a general introduction to both business and technical considerations, this primer also provides links to additional resources, to help support in-depth assessment of the solution.

Intel CAS at Work: A Closer Look

When Intel CAS is enabled on a server, data is written to the Intel CAS cache (SSD) when it is first read from main storage. The second time the data is read, it is copied to system memory (RAM), and future reads are returned at the high speed of either RAM or the SSD. All changes to that data are written simultaneously to the version in cache and the one in main storage, keeping the two in sync.

To optimize the utilization of the SSD cache, only the active parts of applications are cached. When the cache is full, newly identified “hot” data evicts and replaces older, stale data on an ongoing basis. The following resources provide additional detail about the operation of Intel CAS:

How Intel CAS Fits into Your Environment

No special integration effort is needed to bring Intel CAS into an existing data center environment. It is transparent to users, applications, and storage systems, and no changes are needed to applications or the network environment.

Intel CAS installs directly into the Microsoft Windows Server* or Linux* OS, whether running directly on the server hardware or virtually under a VMware, KVM, Citrix Xen Server*, or Windows Hyper-V environment (including live migration while keeping the cache intact). The following resources help explain how Intel CAS can benefit your data center:

Workloads that Will Benefit Most

Data center operators struggling to manage large amounts of transactional, customer, regulatory, or other data often run up against the limitations of HDD-based storage. Intel CAS and Intel SSDs can work together to help alleviate those limitations specifically in cases where application performance is limited because of slow data access from conventional HDDs, by caching “hot” data that is frequently needed by the processor.

Note that such “I/O-constrained” workloads are distinct from “processor-constrained” ones where applications are waiting for the processor to finish executing instructions. Therefore, it is important to consider whether a given workload is constrained by access to data, the speed with which the processor can work on that data, or something else (such as the availability of sufficient memory). The following resources help end customers identify the workloads that will benefit most from Intel CAS:

Examples of Real-World Results

Enterprise-scale end customers across industries have realized extraordinary results from their implementations of Intel CAS, on workloads ranging from business intelligence to high-end graphics. The following series of case studies captures performance results that were obtained using Intel CAS in conjunction with Intel SSDs on common enterprise workloads:

Those results are also borne out in the lab environment. The following resources report the results of lab testing that is designed to quantify the benefits available from implementing Intel CAS:

Conclusion and Next Steps

Intel CAS provides a simple, cost-effective way of using a modest investment in Intel SSDs to significantly increase the performance of applications that are constrained by slow access to data on conventional HDDs. Because Intel CAS was built specifically to take advantage of the capabilities of Intel SSDs, the combination of Intel CAS and Intel SSDs is recommended. The following resources enable potential end customers to advance their assessment of the technology toward a proof of concept or full implementation:

1    Software and workloads used in performance tests may have been optimized for performance only on Intel® microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Based on the following configuration: Intel® Server Board 2600CO (Copper Pass); Intel® Xeon® processor E5-2680 (2.7GHz), 32GB DDR2/1333 memory; Microsoft Windows* 2008R2 SP1, Intel® CAS 2.0 release candidate 1; I/O meter 10.22.2009 ; 4K random read test; 32-queue depth; 800GB Intel® SSD 910 series, Intel® RAID RS25AB080 with MR54p1 firmware; 8 x 10K SAS HDD in a RAID0 array with MR54p1 firmware; and 8 x 10K SAS HDD in a RAID0 array. For more information go to http://www.intel.com/performance.

2   See the Intel Xeon processor E7-8800/4800/2800 v2 product brief, “The Foundation for Better Business Intelligence,” at http://www.intel.com/content/www/us/en/processors/xeon/xeon-e7-v2-family-brief.html

移植及调优运行于Intel® Xeon Phi™处理器的应用程序

$
0
0

本文是帮助用户移植应用程序到Intel® Xeon Phi™处理器的最佳化方法的汇总,用户在移植现有应用程序时,利用下面的代码改动建议及Intel® 编译器的开关使用建议将有助于得到更好的程序运行性能。

  1.有效地利用编译器的开关

  • 使用编译器选项 -mmic 来编译运行于协处理器上的本地程序。
  • 选择编译器多个开关来最大化性能,尤其是当程序对最低浮点精度有要求时。
    • 浮点计算
      • 当单精度运算满足计算要求时,优先考虑单精度浮点计算,再考虑双精度浮点计算;
      • 利用不同的精度控制开关:-imf-*, -[no-]prov-*;
      • 编译器仅在明确指明低运算精度编译器选项时才生成低精度运算代码,否则使用缺省的运算精度来生成代码,在使用当前的编译器时,你可以使用 -fimf* 之类的选项,例如:-fimf-domain-exclusion=<n1> -fimf-accuracy-bits=<n2> -fimf-precision=low -fimf-max-error=<n3_ulps>;
      • 某些编译器选项的组合有利于更好地控制生成的浮点精度,比如:
        • -fimf-precision=low -fimf-domain-exclusion=15(编译生成单精度/双精度可用的最低精度代码序列)
        • -fimf-domain-exclusion=15 -fimf-accuracy-bits=22(比缺省的双精度浮点配置生成较低一些的精度)
        • -fimf-domain-exclusion=15 -fimf-accuracy-bits=11(比缺省的双精度浮点配置生成更低的精度以及比缺省的单精度浮点配置生成较低一些的精度)
        • -fimf-precision=low
        • -fimf-max-error=2048 -fimf-domain-exclusion=15(比缺省的最大误差为4的ulp-最后一位的进退位-产生更低的精度)
      • 这些选项会对编译器在生成向量化代码及标量化代码时起作用。对于选项的详细描述请参照编译器参考手册中的 "Floating-Point Options"部分(Compiler Reference > Compiler Option Categories and Descriptions > Floating-Point Options),此文档可以在http://software.intel.com/en-us/articles/intel-c-composer-xe-documentation 处找到。

   2.代码的局部优化调整

  • 在比较两个数值的大小时,对数值进行平方比较而不要比较二者的平方根;
  • 用乘某数值倒数的形式来替代除以这个数值。

  3.对应用程序线程化

  • 利用编程模型及编译器丰富的特性支持来增加线程的并行度:
  • 在程序需要时,可以使用MPI来增加程序的并行度:
    • 利用选项 -n 来设置MPI进程的数量:mpiexec.hydra -n ./a.out ;
    • 利用选项 -host 将MPI程序在主机及协处理器上运行:mpiexec.hydra –host ./a.host : -host ./a.mic;
    • 利用环境变量OMP_NUM_THREADS设置每个进程中OpenMP线程的数量;
    • 利用环境变量I_MPI_PIN_DOMAIN控制MPI进程的affinity;
    • 用I_MPI_DEBUG=5的设置来查看MPI进程的affinity map;
    • 例如:mpiexec.hydra -env I_MPI_PIN_DOMAIN 12 -env KMP_AFFINITY balanced -env OMP_NUM_THREADS 9 -env I_MPI_DEBUG 5 -n 20 a.out
    • 用Intel® Trace Analyzer and Collector来发现程序运行时的负载不均衡等性能问题。
  • 控制亲和度及防止线程数目过多:
    • 使用环境变量KMP_AFFINITY控制MPI/OpenMP的亲和度,从而OpenMP线程将不会迁移出所属的进程所在的CPU核:
      • 每一个OpenMP线程也可以决定在哪一个操作系统进程上执行并且利用kmp_set_affinity API 接口在运行时与之绑定,对应的环境变量是KMP_AFFINITY,在编译器手册中的"Thread Affinity Interface"话题下可以看到更多的描述(http://software.intel.com/en-us/articles/intel-parallel-studio-xe-for-linux-documentation
      • Compact的亲和度设置会在映射多个线程时按照顺序依次将各个CPU核分配满再分给下一个核,Scatter的亲和度设置会将多个线程平均地分配到连续的各个核上,然后将余数的线程继续绑定到相同的核上,Balanced的亲和度设置仅可用于协处理器,当多个相邻线程之间有locality共享时,此策略可以帮助达到比Scatter设置更优的性能;
      • 亲和度的设置于算法和数据结构的实现有很大关联,所以可以通过预试的方式来找到最适合的线程分散方式。用户可以通过API调用在代码中直接改的affinity的设置,尽管这会有运行时的性能开销。

  4.代码的进一步优化调整

  • 类型转换
    • 在C/C++语言中,浮点常数在未加f或F后缀时默认定义为双精度,这会使仅需要单精度运算的程序损失很大的性能,因为一来这会导致很多不必要的单精度与双精度之间的转换代码的开销,而且也会由于双精度数值的引入导致仅有一半的向量寄存器的宽度有效可用;
    • 在可能的时候尽量多用函数的单精度版本,比如sinf() vs. sin(),原因同上。
  • 有符号 vs. 无符号类型
    • 无符号类型的数值可能会有overflow的处理开销而有符号数就没有此类问题,所以在有符号数可以满足数值计算要求的情况下尽量多使用前者。
  • 浮点精度
    • 将浮点数的除法改为浮点数乘以另一个数倒数的形式,尽管编译器有时会自动进行此类优化,尤其是在被除数是常数时。

  5.系统性调优

禁用Red Hat* Enterprise Linux 6.2上的 intel_idle 驱动以解决总线速度的问题,因为在使用offload pragma时,此驱动的作用会限制运行时协处理器与Host之间PCI Express* 的数据传输性能。

通过传递 intel_idle.max_cstate=0 为内核启动参数(从而使系统使用 acpi_idle 配置)并且重启系统,即可解决此数据传输性能下降的问题,如果此改动并未使性能有所提升的话,系统的BIOS可能也需要升级到最新的版本,Period。

 

Optimization Notice

http://software.intel.com/en-us/articles/optimization-notice/

 

 

Intel® GPA Platform Analyzer: how can I benefit from the new features?

$
0
0

Starting from version 2013 R4, Intel® Graphics Performance Analyzers (Intel GPA) introduce a new version of the Intel GPA Platform Analyzer. If you used the previous version of Intel® GPA Platform Analyzer, your transition to using the new version of the tool should be very straightforward. However, note the following differences:

  • Tracing enabled by default: You do not need to select this option from the Intel GPA Monitor Preferences configuration pane to enable this feature.
  • Tracing configuration options minimized:
    • To configure tracing, you need to set the Tracing Duration option only, via Intel GPA Monitor> Profiles >Tracing. This option replaces the Trace Buffer Size option.
    • The options for collecting DirectX* data, hardware context, and internal data are no longer available since the new version of Intel GPA Platform Analyzer automatically collects the data necessary for creating and viewing all the data charts.
  • Android* support: Beside traditional support for the Windows*-based applications, Intel GPA Platform Analyzer now supports Android applications running on platforms with Intel Processor Graphics (root access is required) and PowerVR* Graphics.
  • GPU software queue: The Platform View of the new Intel GPA Platform Analyzer provides data on GPU usage per GPU engine and DMA packet domain on a software queue at each moment of time. The Platform View per Packet Type is supported for the data collected with the Collect DMA packet type configuration option enabled and is available for platforms with Intel Processor Graphics. The Packet Type view helps easily identify scheduled OpenCL™ and media related tasks. 
  • No application startup capturing: The option for capturing the application startup is no longer available. Instead, select a sufficiently large trace duration (such as 5 seconds) and use an Intel GPA trigger (such as Application Time> 3) to approximate this feature. However, the new data collection methods being used in Intel GPA Platform Analyzer cannot capture trace data beginning with the exact start of an application.
  • No support for tracing OpenCL™ kernels data: The development team is considering adding this feature in a future release of the product. If you need access to OpenCL application data, see this article for profiling your DirectX* application using Intel VTune™ Amplifier XE.
  • No Summary view: Consider using the new Platform View that provides additional features and should provide a sufficient representation of the application execution on GPU and CPU cores. A separate Summary view is available with the VTune™ Amplifier.

Overall, the new Intel GPA Platform Analyzer provides an advanced platform analysis mechanism that can more quickly isolate and identify task synchronization issues across the CPUs and GPU. For details about running the tool on different operating systems and new features incrementally added to each release of the new Intel GPA Platform Analyzer, see Intel GPA Release Notes and Online Help

If you have any feedback, please post your comments and suggestions on the Intel GPA Support Forum.

For more information about the Intel GPA, see the Intel GPA Home Page or the Intel INDE Home Page.

Intel® Parallel Computing Center at Lawrence Berkeley National Laboratory

$
0
0

Principal Investigators:

Nicholas J. Wright, Advanced Technologies Group Lead, National Energy Research Computing Center
Bert de Jong, Scientific Computing Group Lead, Computational Research Division
Hans Johansen, Applied Numerical Algorithms Group, Computational Research Division

Description:

The Intel Parallel Computing Center at Lawrence Berkeley National Laboratory will advance the open-source NWChem and CAM5 (Community Atmospheric Model) applications on next generation multicore high-performance computing systems. The aim is to create optimized versions of these important and widely used scientific applications that will enable the scientific community to pursue new frontiers in the fields of chemistry and materials and climate modeling.

The goal is to deliver enhanced versions of NWChem and CAM-5 that at least double their overall performance on a manycore machine of today over the course of the project. The research and development will be focused upon implementing greater amounts of parallelism in the codes, starting with simple modifications such as adding/modifying OpenMP pragmas and refactoring to enable vectorization to repeatable patterns for performance improvement, all the way to exploring new algorithmic approaches that can better exploit manycore architectures. Both applications are open source and therefore any modifications made will be available to the whole community of users, maximizing the impact of the project.

We will also undertake an extensive outreach and education effort, to ensure that the lessons learned are disseminated to the broader user community at the National Energy Research Scientific Computing center (NERSC). The aim will be to supplement the training and outreach efforts NERSC is already undertaking to support its users on its current Intel® Xeon (Ivybridge) based Cray XC30 supercomputer ‘Edison’. Additionally, the work will form part of the application-readiness efforts NERSC is undertaking as part of the expected delivery of its Intel® Xeon Phi™ (Knights Landing) based Cori supercomputer in 2016.

Related websites:

http://crd.lbl.gov/
http://www.nersc.gov/


Layered Reflective Shadow Maps for Voxel-based Indirect Illumination

$
0
0

Layered Reflective Shadow Maps for Voxel-based Indirect Illumination

Masamichi Sugihara, Randall Rauwendaal, and Marco Salvi
Intel Corporation

We introduce a novel voxel-based algorithm that interactively simulates both diffuse and glossy single-bounce indirect illumination. Our algorithm generates high quality images similar to the reference solution while using only a fraction of the memory of previous methods. The key idea in our work is to decouple occlusion data, stored in voxels, from lighting and geometric data, encoded in a new per-light data structure called layered reflective shadow maps (LRSMs). We use voxel cone tracing for visibility determination and integrate outgoing radiance by performing lookups in a pre-filtered LRSM. Finally we demonstrate that our simple data structures are easy to implement and can be rebuilt every frame to support both dynamic lights and scenes.

Preprint paper: Layered Reflective Shadow Maps for Voxel-based Indirect Illumination [PDF 13.2MB]

Video: Layered Reflective Shadow Maps for Voxel-based Indirect Illumination

Citation: Masamichi Sugihara, Randall Rauwendaal, and Marco Salvi, Layered Reflective Shadow Maps for Voxel-based Indirect Illumination, Preprint

更好地解决使用Intel® Xeon Phi™时可能的内存空间不足的问题

$
0
0

  1.超出内存空间

Intel® Xeon Phi™协处理器上的Linux操作系统跟其它任何Linux*操作系统一样,会允许用户分配大于物理可用的内存空间,在很多系统中这是由交换一些内存页到磁盘的方式来实现,并且当可用的物理内存加上交换空间的总量大于一个上限值时,操作系统将会开始关掉某些进程。

Intel® Xeon Phi™协处理器上由于缺少直接相连的磁盘使得这种换页机制较难实现,并且:

  • 协处理器上有最大8GB的物理内存可用;
  • 其中一些内存被缺省用来存放协处理器的文件系统;
  • 没有交换空间可供协处理器来换页

  2.限制虚拟内存盘的内存使用

由于协处理器上没有直接可存取的磁盘,所以协处理器上缺省的根文件系统存放在虚拟内存盘中,这导致不仅减少了文件的存储空间也降低了可供程序运行时使用的内存空间。

根文件系统可通过裁剪而变得较小,如使用BusyBox来取代很多常用的Linux命令比如sh,cp及ls等以及通过限制拷贝到文件系统中的共享库数量来控制文件系统整体的占用空间,一般来说,裁剪后的可供Intel® Xeon Phi™协处理器使用的根文件系统至少要占用10MB的运行时内存。

许多用户程序,不管是运行于offload模式或native模式,都需要将需要的共享库拷贝到协处理器上的根文件系统中,从而导致消耗更多的内存空间及减少了其它用户程序可用的内存空间。并且,native模式的程序还将需要存取data和临时文件,导致其占用更多的空间。

df命令可以帮助查看有多少空间正被用于文件存放

$ df -h
Filesystem                Size      Used Available Use% Mounted on
none                      7.6G         0      7.6G   0% /dev
none                     12.9G     77.1M     12.8G   1% /
none                      7.6G         0      7.6G   0% /dev
none                      7.6G         0      7.6G   0% /dev/shm
可以通过网络文件系统NFS来降低因文件存储而占用的内存大小,除了在标准Linux发行版中的NFS,Lustre及Panasas等网络文件系统也都提供了此类实现,用户可以在http://software.intel.com/en-us/mic-developer找到更多信息。

适合于以网络文件系统存放的内容比如:

  • home目录
  • 专用的data存储
  • 编译器及其它工具的关联共享库如MPI等

NFS也可能被用于根分区,这将要求用户在host机上为每一个协处理器卡设置一个文件目录且将这些目录填充为对应的每个协处理器上的根文件内容。

当使用以NFS方式挂载root时,协处理器将先以一个内存中可最初始root的方式boot,这个初始root会将NFS文件系统挂载好且使用Linux命令switch_root将此文件系统设置为新的root,最初始的内存也将被释放从而可被其他程序继续使用。

使用NFS的一个不足之处就是读取文件时会有较大的延时,在存取大的数据文件时用户可以选择使用针对大文件存取优化过的Lustre文件系统,对于使用NFS作为根文件系统的情况来说,缩短host上的物理磁盘与协处理器之间的距离会有效地降低访存的延时,尽管如此,对于需要频繁被读写的文件来说,将其放置于协处理器上的虚拟内存盘可能是更好的选择。

在Intel® Xeon Phi™协处理器上设置并使用NFS的详细步骤可以在Manycore Platform Software Stack (MPSS) Boot Configuration Guide中找到。

  3.添加文件交换空间

由于协处理器没有直接相连的磁盘,所以没有可供存放从运行时进程中的内存页交换出的空间,这里介绍一种通过使用host上的虚拟块设备的方式来作为网络交换空间的方法来实现存放coprocessor上交换页的方法。

首先需要在host上创建交换空间,在MPSS的readme文件中可找到用于设置协处理器交换页实现的方法,以下是一个设置4GB交换空间的例子:

sudo service mpss start 
dd bs=1G if=/dev/zero of=/tmp/VirtblkSwap count=4 
sudo bash 
echo /tmp/VirtblkSwap >/sys/devices/virtual/mic/mic0/virtblk_file 
exit 
ssh root@mic0 modprobe mic_virtblk 
ssh root@mic0 mkswap /dev/vda 
ssh root@mic0 swapon /dev/vda 
ssh root@mic0 cat /proc/swaps

虽然添加交换空间将提升协处理上能运行的程序的size,这也将会使在使用swap方式时引起性能损失,所以用户应仅在需要的时候使用这一方法。

程序的数据访问方式将有助于决定是否需要设置交换空间,比起使用交换空间来存放过多的内存页,将程序的work划分以使在运行时work所需要的在内存中的data低于当前可用的物理内存的方法会更好。并且,如果同时使用的进程的数目过多导致内存被过度占用的话,此时采取限制在协处理器上同时运行的进程数目的方式要更好于使用交换空间的方法。

最后应注意的是,由于host与协处理器之间需要地址的映射,offload模式时的计算任务将无法使用交换空间。

 

Using Intel® C++ Composer XE for Multiple Simple Random Sampling without Replacement

$
0
0

Introduction

Random sampling is often used when pre- or post-processing of all records of the entire data set is expensive, as in the following examples. When the file of records or database is too large, retrieval cost for one record is too high. In further physical examination of the real-world entity described by a record, fiscal audit of financial records, or medical examinations of sampled patients for epidemiological studies, post-processing of one data record is too time-consuming. Random sampling is typically used to support statistical analysis of an entire data set and some aggregate statistic estimation (such as average), to estimate parameters of interest, or to perform hypothesis testing. Typical applications of random sampling are financial audit, fissile materials audit, epidemiology, exploratory data analysis and graphics, statistical quality control, polling and marketing research, official surveys and censuses, statistical database security and privacy, etc.

Problem statement

Definitions:

  • The population to be sampled is assumed to be a set of records (tuples) of a known size N.
  • A fixed-size random sample is a random sample for which the sample size is a specified constant M.
  • A simple random sample without replacement (SRSWOR) is a subset of the elements of a population where each element is equally likely to be included in the sample and no duplicates are allowed.

We need to generate multiple fixed size simple random samples without replacement. Each sample is unbiased, i.e., item (record) in each sample was chosen from the whole population with equal probability 1/N, independently of others. All samples are independent.

Note: We consider a special case of problems where all records are numbered using natural numbers from 1 to N, so we do not need access to population items themselves (or we have array of indexes of population items).

In other words, we need to conduct a series of experiments, each generating a sequence of M unique random natural numbers from 1 to N (1≤M≤N).

The attached program uses M=6 and N=49, conducts 119 696 640 experiments, generates a large number of result samples (sequences of length M) in the single array RESULTS_ARRAY, and uses all available parallel threads. In the program, we call each experiment a “lottery M of N”.

Considered approaches to simulate one experiment

Algorithm 1

A straightforward algorithm to simulate one experiment is as follows:

           A1.1: let RESULTS_ARRAY be empty

            A1.2: for i from 1 to M do:

                A1.3: generate random natural number X from {1,...,N}

                A1.4: if X is already present in RESULTS_ARRAY (loop), then go to A1.3

                A1.5: put X at the end of RESULTS_ARRAY

            End.

In more detail, step A1.4 is the “for” loop of length i-1:

 

            A1.4.1: for k from 1 to i-1:

            A1.4.2: if RESULTS_ARRAY[i]==X, then go to A1.3

 

Algorithm 2

This algorithm uses the partial “Fisher-Yates shuffle” algorithm. Each experiment is treated as a partial length-M random shuffle of the whole population of N elements. It needs M random numbers. The algorithm is as follows:

            A2.1: (Initialization step) let PERMUT_BUF contain natural numbers 1, 2, ..., N

            A2.2: for i from 1 to M do:

                A2.3: generate random integer X uniform on {i,...,N}

                A2.4: interchange PERMUT_BUF[i] and PERMUT_BUF[X]

            A2.5: (Copy step) for i from 1 to M do: RESULTS_ARRAY[i]=PERMUT_BUF[i]

            End.

Explanation: each iteration of the loop A2.2 works as a real lottery step. Namely, in each step, we extract random item X from remaining items in the bin PERMUT_BUF[i], ..., PERMUT_BUF[N] and put it at the end of the results row PERMUT_BUF[1],...,PERMUT_BUF[i]. The algorithm is partial because we do not generate full permutation of length N, but only a part of length M.

At the cost of more memory and extra Initialization and Copy steps (loops), Algorithm 2 needs fewer random numbers than Algorithm 1, and does not have the second nested loop A1.4 with “if” branching. Therefore, we chose to use Algorithm 2.

In the case of simulating many experiments, Initialization step is needed only once because at the beginning of each experiment, the order of natural numbers 1...N in the PERMUT_BUF array does not matter (like in real lottery).

Note that in our C program (attached), zero-based arrays are used.

Optimization

We use Intel® C++ Compiler, with its OpenMP* implementation, and Intel® MKL shipped with Intel® Composer XE 2013 SP1.

Parallelization

We exploit all CPUs with all available processor cores by using OpenMP* (see “#pragma parallel for” in the code, and see [4] for more details about OpenMP usage).

We use Intel® MKL MT2203 BRNG since it easily supports a parallel independent stream in each thread (see [3] for details).

     #pragma omp parallel for num_threads(THREADS_NUM)

     for( thr=0; thr<THREADS_NUM; thr++ ) { // thr is thread index

         VSLStreamStatePtr stream;

         // RNG initialization

        vslNewStream( &stream, VSL_BRNG_MT2203+thr, seed );

         ... // Generation of experiment samples (in thread number thr)

         vslDeleteStream( &stream );

     }

Generation of experiment samples

In each thread, we generate EXPERIM_NUM/THREADS_NUM experiment results. For each experiment we call Fisher_Yates_shuffle function that implements steps A2.2, A2.3, and A2.4 of the core algorithm to generate the next results sample. After that we copy the generated sample to RESULTS_ARRAY (step A2.5) as shown below:

     //  A3.1: (Initialization step) let PERMUT_BUF contain natural numbers 1, 2, ..., N

     for(i=0; i<N; i++) PERMUT_BUF[i]=i+1; // we will use the set {1,...,N}

     for(sample_num=0;sample_num<EXPERIM_NUM/THREADS_NUM;sample_num++) {

         Fisher_Yates_shuffle(...);
     

         for(i=0; i<M; i++)

             RESULTS_ARRAY[thr*ONE_THR_PORTION_SIZE + sample_num*M + i] = PERMUT_BUF[i];

     }

Fisher_Yates_shuffle function

The function implements steps A2.2, A2.3, and A2.4  of the core algorithm (chooses a random item from the remaining part of PERMUT_BUF and places this item at the end of the output row, namely, to PERMUT_BUF[i]):

            for(i=0; i<M; i++) {

                j = Next_Uniform_Int(...);            

                tmp = PERMUT_BUF[i];

                PERMUT_BUF[i] = PERMUT_BUF[j];

                PERMUT_BUF[j] = tmp;

            }

 

Next_Uniform_Int function

In step A2.3 of the core algorithm, our program calls the Next_Uniform_Int function to generate the next random integer X, uniform on {i,...,N-1}.

To exploit the full power of vectorized RNGs from Intel MKL, but to hide vectorization overheads, the generator must be called to generate a sufficiently large vector D_UNIFORM01_BUF of size RNGBUFSIZE that fits the L1 cache. Each thread uses its own buffer D_UNIFORM01_BUF and the index D_UNIFORM01_IDX pointing to after the random number from that buffer used last. In the first call to Next_Uniform_Int function (or in the case all random numbers from the buffer have been used), we regenerate the full buffer of random numbers again by calling to vdRngUniform function with the length RNGBUFSIZE and set the index D_UNIFORM01_IDX to zero (in fact, the index was already set to zero a while before):

 vdRngUniform( ... RNGBUFSIZE, D_UNIFORM01_BUF ... );

Because Intel MKL provides only generators of random values with same distribution, but in step A2.3 we need random integers on different intervals, we fill our buffer with double-precision random numbers uniformly distributed on [0;1) and then, in the “Integer scaling step”, we convert these double-precision  values to the needed integer intervals. Fortunately, we know that our algorithm in step A2.3 will need this sequence of numbers, distributed as follows:

            number 0   distributed on {0,...,N-1}   = 0   + {0,...,N-1}
            number 1   distributed on {1,...,N-1}   = 1   + {0,...,N-2}

            ...

            number M-1 distributed on {M-1,...,N-1} = M-1 + {0,...,N-M}

            (then repeat previous M steps)

            number M     distributed on: see (0)
            number M+1   distributed on: see (1)

            ...

            number 2*M-1 distributed on: see (M-1)
            (then again repeat previous M steps)
            ...

            etc.

 

            Hence, “Integer scaling step” looks like this:

            // Integer scaling step

            for(i=0;i<RNGBUFSIZE/M;i++)

                for(k=0;k<M;k++)

                    I_RNG_BUF[i*M+k] =

                        k + (unsigned int)(D_UNIFORM01_BUF[i*M+k] * (double)(N-1-k));

Notes:

  • RNGBUFSIZE must be a multiple of M;
  • This double-nested loop is not suitable for good vectorization because M=6 is not a multiple of 8 (8 is the number of integers in the Intel® Advanced Vector Extensions (Intel® AVX) vector register);
  • Even if we interchange loops “for i” and “for k” and choose RNGBUFSIZE/M to be multiple of 8, this double-nested loop is not suitable for good vectorization, because we will store the results not contiguously in memory;
  • We put scaled integers I_RNG_BUF[i*M+k] into the same buffer where we put double-precision random values D_UNIFORM01_BUF[i*M+k]. Although depending on the CPU type, it may be preferable to have a separate buffer for integers, so that both buffers together fit L1 cache. Separate buffers allow to avoid store-after-load forwarding penalty stalls that might occur because the size of loaded double-precision values is not equal to the size of stored integers.

Conclusions

The attached, Intel C++ Composer XE based, implementation of the algorithm presented in this article for the case of 119 696 640 experiments of “lottery 6 of 49” runs ~24*13 times faster than the sequential algorithm based on the sequential scalar version using GNU* Scientific Library (GSL)+GNU Compiler Collection (GCC).

Measured work time is:

  • 0.216 sec (algorithm presented in this article);
  • 69.321 sec (sequential scalar algorithm, based on GSL+GCC, i.e., using gsl_ran_choose function, sequential RNG gsl_rng_mt19937 from GSL, gcc 4.4.6 20110731 with options -O2 -mavx -I$GSL_ROOT/include -L$GSL_ROOT/lib -lgsl -lgslcblas).

The measurements were done on the following platform:

  • CPU: 2 x 3d-Generation Intel® Core™ i7 processor 2.5GHz, 2*12 cores, 30MB L3 cache size, hyper-threading off;
  • OS: Red Hat Enterprise Linux* Server release 6.2, x86_64;
  • Software: Intel® C++ Composer XE 2013 SP1 (with Intel C++ Compiler 13.1.1 and Intel MKL 11.0.3).

Program code attached (see lottery6of49.c file).

References

[1] D. Knuth. The Art of Computer Programming. Volume 2. Section 3.4.2 Random Sampling and Shuffling. Algorithm S, Algorithm P;

[2] Intel® Math Kernel Library Reference Manual, available at https://software.intel.com/en-us/intel-software-technical-documentation?..., section “Statistical Functions”, subsection “Random Number Generators”;

[3] Intel® MKL Vector Statistical Library Notes, available at https://software.intel.com/en-us/intel-software-technical-documentation?..., section “Independent Streams. Block-Splitting and Leapfrogging” about usage of several independent streams of VSL_BRNG_MT2203;

[4] User and Reference Guide for the Intel® C++ Compiler, available at https://software.intel.com/en-us/intel-software-technical-documentation?..., section “Key Features”, subsection “OpenMP support”;

[5] GNU Scientific Library (GSL), available at http://www.gnu.org/software/gsl, documentation section “18 Random Number Generation” about gsl_rng_alloc() and gsl_rng_mt19937 and subsection “20.38 Shuffling and Sampling” about gsl_ran_choose() function.

 

Intel ® Identity Services End Of Life Email Notice

$
0
0
  1. English
  2. Dansk (Dutch)
  3. Deutsch (German)
  4. Español (Spanish)
  5. Suomi (Finnish)
  6. Francais (French)
  7. Italiano (Italian)
  8. 日本語 (Japanese)
  9. 한국어 (Korean)
  10. Nederlands (Netherlands)
  11. Norsk (Norwegian)
  12. Polski (Polish)
  13. Português – Brasil (Brazilian Portuguese)
  14. Русский (Russian)
  15. Svenska (Swedish)
  16. 简体中文 (Simplified Chinese)
  17. 繁體中文 (Traditional Chinese)

 

Your Intel® Identity Services account will be deleted

Intel will be discontinuing the Intel® Identity Services and all Intel Identity accounts will be deleted on August 1, 2014.  When your account is deleted, the personal information you provided for your Intel Identity account will also be deleted, including:

  • Application User preferences
  • Any additional profile information you provided

Please note, this is a one-time email to inform you of the account deletion described above and you will not receive further emails on this topic.

You may view your Intel Identity Services account any time prior to scheduled deletion.   

If you have any questions about Intel Identity Services, please submit your inquiry here.   

If you have questions regarding an application associated with Intel Identity Services (such as Tweeki or Pokki), you need to contact the developer of that application for more information.

Questions and Answers:

  1. What is Intel Identity Services?
    Intel Identity Services is a user registration service integrated with various applications that allows each user to manage their profile, preferences, and applications associated with their profile.  
  2. Why is Intel Identity Services ending and what does it mean to me?
    Intel Identity Services was part of a beta test of Intel’s Cloud Services Platform.  This beta test has concluded, and the Intel® Identity Services will now be terminated.  This means that your account with Intel® Identity Services will be deleted.  
  3. How much communication will I receive regarding the discontinuance of Intel Identity Services?
    This email will be the only communication you will receive on this topic.
  4. When was my account created? I don’t remember creating an account with Intel Identity Services.
    Most users’ Intel Identity Services accounts were created when the user installed an application they wished to access on their device.  The account creation would have been a part of the app installation.  
  5. How can I view my account information?
    You may visit yourid.intel.com and log into your account to see the applications associated to your account. 
  6. When will my Intel Identity Services account be deleted?
    All accounts on Intel® Identity Services will be deleted on August 1, 2014.
  7. What information will be deleted from my Intel Identity Services account?
    All data contained in your account will be deleted, including any profile and preference information you provided.
  8. I have more questions about my Intel Identity Services account, who can I contact?
    Please submit your inquiry about Intel Identity Services here.   
  9. I have questions about the application that was associated to my Intel Identity Services account, who can I contact? 
    Please contact the developer of your application. 

Din konto til Intel® Identitetstjeneste bliver slettet

Intel vil ophæve Intel® Identitetstjenesten og alle Intel-identitetskonti bliver slettet den 1. August 2014. 

Når din konto slettes bliver de personlige oplysninger, som du angav, også slettet, herunder:

  • Præferencer for programbruger
  • Eventuelle yderligere profiloplysninger, som du har angivet

Bemærk, at dette er en engangs-e-mail, der oplyser dig om sletning af ovenstående konto, og du vil ikke modtage yderligere e-mails om emnet. 

Du kan se din konto til Intel Identitetstjenester på et hvilket som helst tidspunkt før den planlagte sletning.

Hvis du har spørgsmål vedrørende Intel Identitetstjenester kan du fremsende en forespørgsel her.

Hvis du har spørgsmål vedrørende et program, der er knyttet til Intel Identitetstjeneste (f.eks. Tweeki eller Pokki), skal du kontakte udvikleren af det program for at få yderligere oplysninger.

Spørgsmål og svar:

  1. Hvad er Intel Identitetstjenester?
    Intel Identitetstjenester er en brugerregistreringstjeneste, der er integreret i forskellige programmer, som sætter brugeren i stand til at styre deres profil, præferencer og programmer, som er knyttet til deres profil.
  2. Hvorfor ophæves Intel Identitetstjenester, og hvad betyder det for mig? 
    Intel Identitetstjenester var en del af en betatest af Intels Cloud Services-platform.  Denne betatest er færdig, og Intel® Identitetstjenester bliver nu ophævet.  Det betyder, at din konto til Intel® Identitetstjenester bliver slettet
  3. Hvor meget kommunikation vil jeg modtage vedrørende afbrydelsen af Intel Identitetstjenester? 
    Denne e-mail bliver den eneste kommunikation, du vil modtage om emnet. 
  4. Hvornår blev min konto oprettet? Jeg kan ikke huske, at jeg oprettede en konto til Intel Identitetstjenester.
    De fleste brugerkonti til Intel Identitetstjenester blev oprettet, da brugeren installerede et program, som du ville åbne på deres enhed.  Kontooprettelsen ville have været en del af programinstallationen.
  5. Hvordan kan jeg se mine kontooplysninger?
    Du kan gå til yourid.intel.com/identityui?locale=da og logge ind på kontoen for at se de programmer, der er knyttet til din konto.
  6. Hvornår bliver min konto til Intel Identitetstjeneste slettet?
    Alle konti på Intel® Identitetstjenester bliver slettet den 1. august 2014. 
  7. Hvilke oplysninger bliver slettet fra min konto til Intel® Identitetstjenester? 
    Alle data på kontoen bliver slettet, herunder eventuelle profil- og præferenceoplysninger, som du har angivet.
  8. Jeg har flere spørgsmål om min konto til Intel Identitetstjenester. Hvem kan jeg kontakte? 
    Fremsend din forespørgsel om Intel Identitetstjenester her.
  9. Jeg har flere spørgsmål om det program som var knyttet til min konto til Intel Identitetstjenester. Hvem kan jeg kontakte?
    Kontakt udvikleren af programmet. 

Ihr Konto bei den Intel® Identitätsdiensten wird gelöscht

Intel stellt die Intel® Identitätsdienste ein. Alle für diese Dienste angelegten Konten werden am 1. August 2014 gelöscht. 

Beim Löschen Ihres Kontos werden auch alle persönlichen Daten, die Sie für dieses Konto bereitgestellt haben, gelöscht. Das beinhaltet:

  • Anwendungsspezifische Vorgaben des Benutzers
  • Zusätzliche Angaben zum Profil

Hinweis: Dies ist eine einmalige E-Mail-Benachrichtigung, mit der Sie über die zuvor beschriebene Kontolöschung informiert werden. Sie erhalten hierzu keine weiteren E-Mails. 

Sie können Ihr Konto bei den Intel Identitätsdiensten vor der geplanten Löschung jederzeit aufrufen.

Falls Sie Fragen zu den Intel Identitätsdiensten haben, reichen Sie die Anfrage bitte hier ein.

Wenn Sie Fragen zu einer Anwendung haben, die mit den Intel Identitätsdiensten verknüpft ist (z. B. Tweeki oder Pokki), müssen Sie sich an den Entwickler der betreffenden Anwendung wenden, um Informationen zu erhalten.

Fragen und Antworten:

  1. Was sind Intel Identitätsdienste?
    Die Identitätsdienste von Intel sind eine Art Benutzerregistrierung, die in verschiedenen Anwendungen integriert ist, und gestatten es jedem Benutzer, sein Profil, seine Vorlieben und Interessen und die mit seinem Profil verknüpften Anwendungen zu verwalten.
  2. Warum werden die Intel Identitätsdienste eingestellt und was bedeutet das für mich? 
    Die Intel Identitätsdienste waren Teil eines Betatests für Intels Cloud-Dienste-Plattform.  Dieser Betatest ist abgeschlossen und die Intel® Identitätsdienste werden nun beendet,  was für Sie bedeutet, dass Ihr Konto bei den Intel® Identitätsdiensten gelöscht wird.
  3. Wie viele Mitteilungen werde ich im Zusammenhang mit der Einstellung der Intel Identitätsdienste erhalten? 
    Außer dieser E-Mail werden Sie keine weiteren Mitteilungen hierzu erhalten. 
  4. Wann wurde mein Konto angelegt? Ich kann mich nicht erinnern, ein Konto bei den Identitätsdiensten von Intel eingerichtet zu haben.
    In den meisten Fällen wurden Konten bei den Intel Identitätsdiensten angelegt, wenn der betreffende Benutzer eine Anwendung für den Zugriff mit seinem Mobilgerät eingerichtet hat. Das Anlegen des Kontos wäre dann Teil der App-Installation gewesen.
  5. Wie kann ich mir die Daten meines Kontos ansehen?
    Sie können https://yourid.intel.com/identityui?locale=de aufrufen und sich bei Ihrem Konto einloggen, um zu sehen, welche Anwendungen mit Ihrem Konto verknüpft sind.
  6. Wann wird mein Konto bei den Intel® Identitätsdiensten gelöscht?
    Alle Konten bei den Intel® Identitätsdiensten werden am 1. August 2014 gelöscht. 
  7. Welche Angaben werden in meinem Konto bei den Intel Identitätsdiensten gelöscht? 
    Es werden alle Daten Ihres Kontos gelöscht, einschließlich Ihrer Angaben zu Profilen und Vorlieben.
  8. Wohin kann ich mich wenden, wenn ich weitere Fragen zu meinem Konto bei den Intel Identitätsdiensten habe? 
    Reichen Sie Anfragen zu den Intel Identitätsdiensten bitte hier ein.
  9. An wen kann ich mich wenden, wenn ich Fragen zu einer Anwendung habe, die mit meinem Konto bei den Intel Identitätsdiensten verknüpft war?
    Wenden Sie sich bitte an den Entwickler Ihrer Anwendung. 

Su cuenta de Servicios de identidad Intel® va a ser eliminada

Intel dejará de prestar los Servicios de identidad Intel® y todas las cuentas de identidad Intel se eliminarán el 1 de agosto de 2014. 

Cuando se elimine su cuenta, la información personal que haya proporcionado para la identidad Intel también será eliminada, incluyendo:

  • Preferencias de usuario de las aplicaciones
  • Cualquier información de perfil adicional que haya proporcionado

Tenga en cuenta que este correo electrónico se le envía una sola vez para informarle de la eliminación de la cuenta descrita anteriormente y no recibirá más correos electrónicos sobre este tema. 

Puede ver su cuenta de los Servicios de identidad Intel en cualquier momento antes de su eliminación programada.

Si tiene alguna pregunta sobre los Servicios de identidad Intel, envíe su consulta aquí.

Si tiene alguna pregunta relativa a una aplicación asociada a los Servicios de identidad Intel (como Tweeki o Pokki), debe ponerse en contacto con el desarrollador de esa aplicación para obtener más información.

Preguntas y respuestas:

  1. ¿Qué son los Servicios de identidad Intel?
    Los Servicios de identidad Intel son un servicio de registro de usuarios, integrado con varias aplicaciones, que permite que cada usuario gestione su perfil, preferencias y aplicaciones asociados a su perfil.
  2. ¿Por qué finalizan los Servicios de identidad Intel y qué significa eso para mí? 
    Los Servicios de identidad Intel formaban parte de una prueba beta de la Plataforma de servicios en la nube Intel.  Esta prueba beta ha concluido y se van a cerrar los Servicios de identidad Intel.  Esto quiere decir que su cuenta en los Servicios de identidad Intel será eliminada.
  3. ¿Cuántos mensajes recibiré relativos a la interrupción de los Servicios de identidad Intel? 
    Este correo electrónico será el único mensaje que recibirá sobre este tema. 
  4. ¿Cuándo se creó mi cuenta? No recuerdo haber creado una cuenta en los Servicios de identidad Intel.
    Las cuentas de la mayoría de usuarios de los Servicios de identidad Intel se creaban cuando los usuarios instalaban una aplicación a la que deseaban acceder en su dispositivo.  La creación de la cuenta habría formado parte de la instalación de la aplicación.
  5. ¿Cómo puedo ver la información de mi cuenta?
    Puede visitar yourid.intel.com/identityui?locale=es e iniciar la sesión en su cuenta para ver las aplicaciones asociadas a la misma.
  6. ¿Cuándo se eliminará mi cuenta de los Servicios de identidad Intel?
    Todas las cuentas de los Servicios de identidad Intel® se eliminarán el 1 de agosto de 2014. 
  7. ¿Qué información se eliminará de mi cuenta de los Servicios de identidad Intel? 
    Se eliminarán todos los datos que contiene la cuenta, incluida la información del perfil y las preferencias que haya proporcionado.
  8. Tengo más preguntas sobre mi cuenta de los Servicios de identidad Intel, ¿con quién debo ponerme en contacto? 
    Envíe su consulta sobre los Servicios de identidad Intel aquí.
  9. Tengo preguntas sobre la aplicación asociada a mi cuenta de los Servicios de identidad Intel, ¿con quién debo ponerme en contacto?
    Póngase en contacto con el desarrollador de su aplicación. 

Intel® -käyttäjätietopalveluiden tilisi poistetaan

Intel lopettaa Intel®-käyttäjätietopalvelun ja kaikki Intel-käyttäjätietotilit poistetaan 1.8.2014. 

Tilin poistamisen yhteydessä poistetaan myös Intel-käyttäjätietotiliisi lisätyt henkilökohtaiset tiedot, kuten:

  • sovellusten käyttäjäasetukset
  • kaikki profiiliin antamasi lisätiedot.

Ota huomioon, että tämä edellä kuvattuun tilin poistamiseen liittyvä viesti lähetetään vain kerran eikä sinulle enää lähetetä tähän aiheeseen liittyviä viestejä. 

Voit tarkastella Intel-käyttäjätietopalvelutiliäsi milloin tahansa ennen poistamisajankohtaa.

Jos sinulla on Intel-käyttäjätietopalveluihin liittyviä kysymyksiä, voit lähettää ne tästä.

Jos sinulla on Intel-käyttäjätietopalveluihin liittyvää sovellusta (kuten Tweeki tai Pokki) koskevia kysymyksiä, saat lisätietoja ottamalla yhteyttä kyseisen sovelluksen kehittäjään.

Kysymyksiä ja vastauksia:

  1. Mikä on Intel-käyttäjätietopalvelut?
    Intel-käyttäjätietopalvelut on käyttäjärekisteröintipalvelu, joka on integroitu useiden sovellusten kanssa. Sen avulla kukin käyttäjä voi hallita profiiliaan, asetuksiaan ja profiiliin liittyviä sovelluksia.
  2. Miksi Intel-käyttäjätietopalvelut lopetetaan ja miten se vaikuttaa minuun? 
    Intel-käyttäjätietopalvelut oli osa Intelin pilvipalveluiden alustan beetatestiä.  Tämä beetatesti on päättynyt, ja nyt Intel®-käyttäjätietopalvelut lopetetaan.  Tämä tarkoittaa, että Intel®-käyttäjätietopalveluihin liittyvä tilisi poistetaan.
  3. Miten paljon Intel-käyttäjätietopalveluiden päättymisestä tiedotetaan? 
    Tämä sähköpostiviesti on ainoa viesti, joka lähetetään tähän aiheeseen liittyen. 
  4. Milloin tilini on luotu? En muista luoneeni tiliä Intel-käyttäjätietopalveluihin.
    Useimpien käyttäjien tilit Intel-käyttäjätietopalveluihin on luotu käyttäjän asentaessa sovelluksen, jota halusivat käyttää laitteessaan.  Tilin luominen on ehkä ollut osa sovelluksen asennusta.
  5. Miten voin tarkastella tilini tietoja?
    Voit tarkastella tiliisi liittyviä sovelluksia siirtymällä osoitteeseen https://yourid.intel.com/identityui?locale=fi ja kirjautumalla tiliisi.
  6. Milloin Intel-käyttäjätietopalveluiden tilini poistetaan?
    Intel®-käyttäjätietopalveluiden kaikki tilit poistetaan 1.8.2014. 
  7. Mitä tietoja Intel-käyttäjätietopalveluiden tilistäni poistetaan? 
    Kaikki tilin sisältämät tiedot poistetaan. Näihin tietoihin sisältyvät kaikki antamasi profiili- ja asetustiedot.
  8. Minulla on kysymyksiä liittyen Intel-käyttäjätietopalveluiden tiliini. Keneen voin ottaa yhteyttä? 
    Lähetä Intel-käyttäjätietopalveluihin liittyvä kyselysi tästä.
  9. Minulla on kysymyksiä liittyen Intel-käyttäjätietopalveluihin liittyneeseen sovellukseen. Keneen voin ottaa yhteyttä?
    Ota yhteyttä sovelluksen kehittäjään.

Votre compte des Services d’identité Intel® va être supprimé

Intel va abandonner les Services d’identité Intel® et tous les comptes correspondants seront supprimés le 1er août 2014. 

Lors de la suppression de votre compte, les données personnelles que vous avez fournies concernant votre compte des Services d'identité Intel seront également supprimées, y compris :

  • Préférences utilisateur de l'application
  • Toute information supplémentaire que vous avez fournie concernant votre profil

Veuillez noter que ce message d'information concernant la suppression de votre compte décrite ci-dessus est le seul qui vous sera envoyé et que vous n'en recevrez aucun autre à ce sujet. 

Vous pouvez consulter cotre compte des Services d’identité Intel à tout moment avant sa suppression planifiée.

Pour toute question concernant les Services d’identité Intel, soumettez votre demande ici.

Pour toute question concernant une application associée aux Services d’identité Intel (telle que Tweeki ou Pokki), vous devez contacter le développeur de cette application pour davantage d'informations.

Questions et réponses:

  1. Que sont les Services d'identité Intel ?
    Les Services d’identité Intel sont un service d'inscription d'utilisateur intégré à différentes applications, permettant à chaque utilisateur de gérer son profil, ses préférences et les applications associées à leur profil.
  2. Pourquoi les Services d’identité Intel sont-ils abandonnés et qu'est-ce que ça signifie pour moi ? 
    Les Services d’identité Intel s'inscrivaient dans le cadre d'essais bêta de la plate-forme des services d'informatique en nuage Intel.  Ces essais bêta sont maintenant terminés et les Services d’identité Intel® vont donc être abandonnés.  Cela signifie que votre compte des Services d’identité Intel® va être supprimé.
  3. Combien de communications vais-je recevoir concernant l'abandon des Services d’identité Intel ? 
    Ce message est la seule communication que vous recevrez à ce sujet. 
  4. Quand mon compte a-t-il été créé ? Je ne me souviens pas d'avoir créé un compte de Services d’identité Intel.
    La plupart des comptes utilisateur des Services d’identité Intel ont été créés lorsque l'utilisateur a installé une application à laquelle il voulait accéder sur son appareil.  Le compte a été créé dans le cadre de l'installation de l'application.
  5. Comment consulter les informations de mon compte ?
    Vous pouvez visiter yourid.intel.com/identityui?locale=fr et ouvrir une session sur votre compte pour voir les applications qui lui sont associées.
  6. Quand mon compte des Services d’identité Intel sera-t-il supprimé ?
    Tous les comptes des Services d’identité Intel® seront supprimés le 1er août 2014. 
  7. Quelles sont les informations qui seront supprimées de mon compte des Services d’identité Intel ? 
    Toutes les données de votre compte seront supprimées, y compris toutes les informations que vous avez fournies concernant les profils et les préférences.
  8. J'aimerais poser d'autres questions concernant mon compte des Services d’identité Intel. À qui puis-je les adresser ? 
    Soumettez toute question concernant les Services d’identité Intel ici.
  9. J'ai des questions concernant l'application associée à mon compte des Services d’identité Intel. Qui puis-je contacter ?
    Contactez le développeur de votre application. 

Il tuo account Servizi di identità Intel® verrà cancellato

Intel cesserà Servizi di identità Intel® e tutti i relativi account saranno cancellati il 1° agosto 2014. 

Al momento della cancellazione dell'account, verranno eliminate anche le informazioni personali che hai fornito per il tuo account Servizi di identità Intel, tra cui:

  • Preferenze dell'utente relative alle applicazioni
  • Qualsiasi altra informazione fornita nel tuo profilo

Questa e-mail costituisce una comunicazione una tantum per informarti della cancellazione dell'account come descritto qui sopra; non riceverai ulteriori e-mail su questo argomento. 

Puoi visualizzare il tuo account Servizi di identità Intel in qualsiasi momenti prima della cancellazione programmata.

Per qualsiasi domanda su Servizi di identità Intel, inviaci la tua richiesta da qui.

Per domande relative a un'applicazione associata a Servizi di identità Intel (ad esempio Tweeki o Pokki), devi contattare lo sviluppatore dell'applicazione per maggiori informazioni.

Domande e risposte:

  1. Che cos'è Servizi di identità Intel?
    Servizi di identità Intel è un servizio di registrazione per gli utenti integrato con varie applicazioni, che consente la gestione del proprio profilo, delle preferenze e delle applicazioni associate al proprio profilo.
  2. Perché Servizi di identità Intel viene cessato e quali sono le conseguenze per me? 
    Servizi di identità Intel faceva parte di un test beta della Piattaforma Servizi Cloud Intel.  Questo test beta si è concluso, pertanto Servizi di identità Intel® viene cessato.  Ciò significa che il tuo account Servizi di identità Intel® verrà cancellato.
  3. Quante comunicazioni riceverò in merito alla cessazione di Servizi di identità Intel? 
    Questa e-mail è l'unica comunicazione che riceverai su questo argomento. 
  4. Quando è stato creato il mio account? Non ricordo di aver creato un account Servizi di identità Intel.
    In genere, l'account Servizi di identità Intel è stato creato quanto l'utente ha installato un'applicazione da utilizzare tramite il proprio dispositivo.  La creazione dell'account faceva parte dell'installazione dell'app.
  5. Come posso consultare le informazioni del mio account?
    Puoi andare alla pagina https://yourid.intel.com/identityui?locale=it e accedere al tuo account per visualizzare le applicazioni associate al tuo account.
  6. Quando verrà cancellato il mio account Servizi di identità Intel?
    Tutti gli account Servizi di identità Intel® verranno cancellati il 1° agosto 2014. 
  7. Quali informazioni saranno cancellate dal mio account Servizi di identità Intel? 
    Tutti i dati contenuti nel tuo account verranno cancellati, incluse tutte le informazioni che hai fornito relative al tuo profilo e alle preferenze.
  8. Ho ulteriori domande sul mio account Servizi di identità Intel: chi posso contattare? 
    Invia le tue richieste relative a Servizi di identità Intel da qui.
  9. Ho delle domande sulle applicazioni associate al mio account Servizi di identità Intel: chi posso contattare?
    Contatta gli sviluppatori delle applicazioni. 

お客様のインテル® アイデンティティー・サービスのアカウントが削除されます

インテルはインテル® アイデンティティー・サービスを廃止し、すべてのインテル アイデンティティー・アカウントが2014年8月1日に削除されます。 

お客様のアカウントが削除されるときに、お客様がインテル アイデンティティー・アカウントに指定した個人情報が削除されます。これらの情報には次のものが含まれます:

  • アプリケーション・ユーザー・プリファレンス
  • お客様が指定したあらゆる追加プロファイル情報

この電子メールは、上記のアカウントの削除についてお客様に通知するために一度だけ配信され、この件については、今後電子メールは配信されませんのでご注意ください。 

お客様は、削除予定日の前に、いつでもお客様のインテル アイデンティティー・サービスのアカウントをご覧になることができます。

インテル アイデンティティー・サービスについてご質問がおありの場合は、こちらにお問い合わせください。

インテル アイデンティティー・サービスに関連するアプリケーション (Tweeki または Pokki など) についてのご質問は、そのアプリケーションの開発元にお問い合わせください。

質問と回答:

  1. インテル アイデンティティー・サービスとは何ですか?
    インテル アイデンティティー・サービスは、さまざまなアプリケーションと統合されたユーザー登録サービスで、各ユーザーのプロファイル、プリファレンス、およびユーザーのプロファイルに関連付けられたアプリケーションを管理できるようにします。
  2. インテル アイデンティティー・サービスが廃止されるのはなぜですか、これは私とって何を意味しますか? 
    インテル アイデンティティー・サービスは、インテルのクラウド・サービス・プラットフォームのベータテストの一部でした。  このベータテストは完了し、インテル® アイデンティティー・サービスは廃止されます。  これは、インテル® アイデンティティー・サービスのお客様のアカウントが削除されることを意味します。
  3. インテル アイデンティティー・サービスの廃止に関して、私にどのくらい通知が配信されますか? 
    この件について、お客様に配信されるのはこの電子メールのみです。 
  4. 私のアカウントが作成されたのはいつですか? インテル アイデンティティー・サービスのアカウントを作成した覚えがありません。
    ほとんどのユーザーのインテル アイデンティティー・サービスのアカウントは、ユーザーがデバイスでアクセスしたいアプリケーションをインストールしたときに作成されました。  アカウントの作成は、アプリケーションのインストールの一部であった場合があります。
  5. アカウントの情報はどのようにしたら見ることができますか?
    https://yourid.intel.com/identityui?locale=jaでお客様のアカウントにログインして、アカウントに関連付けられているアプリケーションを確認できます。
  6. インテル アイデンティティー・サービスの私のアカウントは、いつ削除されますか?
    インテル® アイデンティティー・サービスのすべてのアカウントは2014年8月1日に削除されます。 
  7. インテル アイデンティティー・サービスの私のアカウントから、どのような情報が削除されますか? 
    プロファイルおよび指定したプリファレンスの情報を含むお客様のアカウントに含まれるすべてのデータが削除されます。
  8. インテル アイデンティティー・サービスのアカウントについて、さらに質問があるのですが、問い合わせ先はどこですか? 
    インテル アイデンティティー・サービスについてのお問い合わせは、こちらにお寄せください。   
  9. インテル アイデンティティー・サービスの私のアカウントに関連付けられたアプリケーションについて質問があるのですが、問い合わせ先はどこですか?
    アプリケーションの開発元にお問い合わせください。 

인텔® 신원정보 서비스 계정이 삭제됩니다

인텔에서는 인텔® 신원정보 서비스를 중단할 예정이며 모든 인텔 신원정보 서비스 계정은 2014년 8월 1일자로 삭제될 것입니다. 

계정이 삭제되면 다음 정보를 포함하여 인텔 신원정보 서비스 계정용으로 제공하신 개인 정보 또한 삭제됩니다.

  • 애플리케이션 사용자 기본 설정
  • 제공한 추가 프로필 정보

이것은 상기 언급한 계정 삭제와 관련하여 발송하는 1회성 이메일로, 이후 이 내용과 관련한 이메일이 더 이상 발송되지 않을 것입니다. 

예정된 삭제일 전에 언제든 인텔 신원정보 서비스 계정을 볼 수 있습니다.

인텔 신원정보 서비스에 대한 질문이 있으면 여기서 질의를 제출해 보십시오.

인텔 신원정보 서비스와 연관된 애플리케이션(Tweeki 또는 Pokki) 관련 질문이 있으면 해당 애플리케이션 개발자에게 추가 정보를 문의하셔야 합니다.

질문 및 답변:

  1. 인텔 신원정보 서비스란 무엇입니까?
    인텔 신원정보 서비스는 각 사용자가 프로필, 기본 설정 및 프로필 관련 애플리케이션을 관리할 수 있는 다양한 애플리케이션에 통합되는 사용자 등록 서비스입니다.
  2. 인텔 신원정보 서비스는 왜 종료하는 것이며, 내게 어떤 영향이 있습니까? 
    인텔 신원정보 서비스는 인텔 클라우드 서비스 플랫폼의 베타 테스트의 일환으로 제공하던 것이었습니다.  이 베타 테스트가 끝나 이제 인텔® 신원정보 서비스가 종료되는 것입니다.  따라서 인텔® 신원정보 서비스 계정이 삭제될 것입니다.
  3. 인텔 신원정보 서비스 중단과 관련하여 얼마나 많은 연락을 받게 됩니까? 
    이 내용과 관련해서 연락을 드리는 것은 본 이메일이 유일합니다. 
  4. 내 계정은 언제 만들었습니까? 인텔 신원정보 서비스 계정을 만들었는지 기억나지 않습니다.
    대부분 사용자의 인텔 신원정보 서비스 계정은 기기에 대한 액세스 권한을 원하는 애플리케이션 설치 시에 만들어졌습니다.  앱 설치의 일부로 계정이 생성된 것입니다.
  5. 계정 정보를 보려면 어떻게 합니까?
    https://yourid.intel.com/identityui?locale=ko을 방문하여 계정에 로그인하면 계정과 연관된 애플리케이션을 확인할 수 있습니다.
  6. 내 인텔 신원정보 서비스 계정은 언제 삭제됩니까?
    모든 인텔® 신원정보 서비스 계정은 2014년 8월 1일에 삭제됩니다. 
  7. 내 인텔 신원정보 서비스 계정에서 어떤 정보가 삭제됩니까? 
    프로필과 제공하신 기본 설정 정보를 비롯하여 계정에 포함된 모든 데이터가 삭제됩니다.
  8. 내 인텔 신원정보 서비스 계정에 관한 질문이 있을 경우 누구에게 연락하면 됩니까? 
    여기서 인텔 신원정보 서비스 관련 질의를 제출해 주십시오.
  9. 내 인텔 신원정보 서비스 계정과 연관된 애플리케이션에 관한 질문이 있을 경우 누구에게 연락하면 됩니까?
    애플리케이션 개발자에게 연락해 주십시오. 

Uw Intel® Identity Services-account wordt verwijderd

Intel zet Intel® Identity Services stop en alle Intel Identity Services-accounts worden op 1 augustus 2014 verwijderd. 

Wanneer uw account wordt verwijderd, wordt ook alle persoonlijke informatie die u hebt opgegeven voor uw Intel Identity Services-account verwijderd, inclusief:

  • gebruikersvoorkeuren voor apps
  • overige profielinformatie die u hebt opgegeven

Dit is een eenmalige e-mail om u op de hoogte te brengen van de verwijdering van uw account, zoals hierboven is beschreven, en u ontvangt hierover geen andere e-mails meer. 

U kunt uw Intel Identity Services-account op elk gewenst moment vóór de geplande verwijdering bekijken.

Als u vragen hebt over Intel Identity Services, kunt u ze hier verzenden.

Als u vragen hebt over een app die is gekoppeld aan Intel Identity Services (zoals Tweeki of Pokki), neemt u voor meer informatie contact op met de ontwikkelaar van die app.

Vragen en antwoorden:

  1. Wat is Intel Identity Services?
    Intel Identity Services is een gebruikersregistratieservice die is geïntegreerd met diverse apps waarmee elke gebruiker zijn profiel, voorkeuren en gekoppelde apps kan beheren.
  2. Waarom wordt Intel Identity Services stopgezet en wat betekent dit voor mij? 
    Intel Identity Services is een onderdeel van een bètatest van Intel® Cloud Servicesplatform.  Deze bètatest is afgerond en Intel® Identity Services wordt nu beëindigd.  Dit houdt in dat uw account bij Intel® Identity Services wordt verwijderd.
  3. Hoeveel berichten zal ik ontvangen over de stopzetting van Intel Identity Services? 
    Deze e-mail is het enige bericht dat u hierover ontvangt. 
  4. Wanneer is mijn account gemaakt? Ik kan mij niet herinneren dat ik een account bij Intel Identity Services heb gemaakt.
    De Intel Identity Services-accounts van de meeste gebruikers zijn gemaakt tijdens de installatie van een app waartoe ze toegang wilden op hun apparaat.  De aanmaak van het account is een onderdeel van het installatieproces van de app.
  5. Hoe kan ik mijn accountinformatie bekijken?
    Ga naar yourid.intel.com/identityui?locale=nl en meld u aan bij uw account om de apps te bekijken die zijn gekoppeld aan uw account.
  6. Wanneer wordt mijn Intel Identity Services-account verwijderd?
    Alle accounts bij Intel® Identity Services worden verwijderd op 1 augustus 2014. 
  7. Welke informatie wordt verwijderd uit mijn Intel Identity Services-account? 
    Alle gegevens in uw account worden verwijderd, inclusief de profiel- en voorkeursinformatie die u hebt opgegeven.
  8. Ik heb meer vragen over mijn Intel Identity Services-account. Met wie kan ik contact opnemen? 
    U kunt uw vragen over Intel Identity Services hier verzenden.
  9. Ik heb vragen over de app die is gekoppeld aan mijn Intel Identity Services-account. Met wie kan ik contact opnemen?
    Neem contact op met de ontwikkelaar van uw app. 

Din Intel® identitetstjenester-konto vil bli slettet

Intel vil avslutte Intel® identitetstjenester, og alle Intel identitetskontoer vil bli slettet den 1. august 2014. 

Når kontoen din slettes, vil også den personlige informasjonen du oppga for din Intel identitetskonto bli slettet, inkludert:

  • Brukerinnstillinger for programmer
  • Eventuell annen profilinformasjon du oppga

Vennligst merk at dette er en engangsmelding for å informere deg om sletting av kontoen beskrevet ovenfor, og du vil ikke motta flere e-postmeldinger om dette. 

Du kan se på Intel identitetstjenester-kontoen din når som helst før den planlagte slettingen.

Hvis du har spørsmål om Intel identitetstjenester, kan du sende inn forespørselen din her.

Hvis du har spørsmål om et program tilknyttet Intel identitetstjenester (for eksempel Tweeki eller Pokki), må du ta kontakt med utvikleren av programmet for mer informasjon.

Spørsmål og svar:

  1. Hva er Intel identitetstjenester?
    Intel identitetstjenester er en brukerregistreringstjeneste som er integrert med en rekke programmer som lar hver bruker administrere sin profil og sine innstillinger samt programmer som er tilknyttet profilen.
  2. Hvorfor avsluttes Intel identitetstjenester, og hva betyr det for meg? 
    Intel identitetstjenester var del av en betatest av Intels nettskytjenester-plattform.  Denne betatesten er avsluttet, og Intel® identitetstjenester vil nå opphøre.  Det betyr at kontoen din på Intel® identitetstjenester vil bli slettet.
  3. Hvor mye kommunikasjon vil jeg motta angående avslutningen av Intel identitetstjenester? 
    Denne e-posten vil være den eneste kommunikasjonen du vil motta om dette. 
  4. Når ble kontoen min opprettet? Jeg husker ikke å ha opprettet en konto hos Intel identitetstjenester.
    De fleste brukeres Intel identitetstjenester-kontoer ble opprettet da brukeren installerte et program de ønsket tilgang til på sin enhet.  Oppretting av kontoen ville vært en del av installasjonen av applikasjonen.
  5. Hvordan kan jeg se på kontoinformasjonen min?
    Du kan besøke https://yourid.intel.com/identityui?locale=nb og logge deg på kontoen for å se programmene som er tilknyttet kontoen din.
  6. Når vil min Intel identitetstjenester-konto bli slettet?
    Alle kontoer på Intel® identitetstjenester vil bli slettet 1. august 2014. 
  7. Hva slags informasjon vil bli slettet fra min Intel identitetstjenester-konto? 
    Alle data som er på din konto vil bli slettet, inkludert all profil- og innstillingsinformasjon du oppga.
  8. Jeg har flere spørsmål om min Intel identitetstjenester-konto. Hvem kan jeg kontakte? 
    Vennligst send inn spørsmålet ditt om Intel identitetstjenester her.
  9. Jeg har spørsmål om programmet som var tilknyttet min Intel identitetstjenester-konto. Hvem kan jeg kontakte?
    Vennligst kontakt utvikleren av programmet ditt. 

Twoje konto w Usługach tożsamości Intel® zostanie usunięte

Firma Intel postanowiła zakończyć świadczenie Usług tożsamości Intel®, w związku z czym wszystkie konta w Usługach tożsamości Intel zostaną usunięte 1 sierpnia 2014 r. 

Usunięcie Twojego konta spowoduje również usunięcie danych osobowych podanych w związku z tym kontem, w tym:

  • preferencji użytkownika aplikacji
  • ewentualnych dodatkowych informacji związanych z profilem

Uwaga: ta wiadomość e-mail jest jednorazową informacją na temat opisanego powyżej usunięcia konta. Nie otrzymasz więcej wiadomości e-mail na ten temat. 

Przed zaplanowanym usunięciem Twojego konta w Usługach tożsamości Intel możesz je przejrzeć w dowolnym czasie.

Wszelkie pytania na temat Usług tożsamości Intel można przesyłać tutaj.

W sprawie ewentualnych pytań na temat aplikacji powiązanej z Usługami tożsamości Intel (takiej jak Tweeki lub Pokki) należy kontaktować się z twórcą aplikacji.

Pytania i odpowiedzi:

  1. Co to są Usługi tożsamości Intel?
    Usługi tożsamości Intel to usługa rejestracji użytkowników zintegrowana z różnymi aplikacjami, która umożliwia każdemu użytkownikowi zarządzanie profilem oraz preferencjami i aplikacjami powiązanymi z profilem.
  2. Dlaczego Usługi tożsamości Intel są wycofywane i co to oznacza dla mnie? 
    Usługi tożsamości Intel były elementem testu wersji beta Platformy usług w chmurze firmy Intel.  Test wersji beta dobiegł końca i Usługi tożsamości Intel® zostaną zlikwidowane.  Oznacza to, że Twoje konto w Usługach tożsamości Intel® zostanie usunięte.
  3. Ile wiadomości otrzymam na temat wycofania Usług tożsamości Intel? 
    Ta wiadomość e-mail jest jedyną wiadomością na ten temat, jaką otrzymasz. 
  4. Kiedy zostało utworzone moje konto? Nie pamiętam tworzenia konta w Usługach tożsamości Intel.
    W przypadku większości użytkowników konto w Usługach tożsamości Intel zostało utworzone, gdy użytkownik instalował aplikację, z której chciał korzystać w swoim urządzeniu.  Utworzenie konta było elementem procesu instalowania aplikacji.
  5. Jak mogę wyświetlić informacje o swoim koncie?
    Aby zobaczyć aplikacje powiązane ze swoim kontem, możesz wejść na stronę https://yourid.intel.com/identityui?locale=pl i zalogować się na koncie.
  6. Kiedy zostanie usunięte moje konto w Usługach tożsamości Intel?
    Wszystkie konta w Usługach tożsamości Intel® zostaną usunięte 1 sierpnia 2014 r. 
  7. Jakie informacje zostaną usunięte z mojego konta w Usługach tożsamości Intel? 
    Zostaną usunięte wszystkie dane znajdujące się na koncie, w tym wszelkie podane informacje związane z profilem i preferencjami.
  8. Mam więcej pytań na temat swojego konta w Usługach tożsamości Intel. Z kim mogę się skontaktować? 
    Swoje zapytanie na temat Usług tożsamości Intel możesz przesłać tutaj.
  9. Mam pytania na temat aplikacji powiązanej z moim kontem w Usługach tożsamości Intel. Z kim mogę się skontaktować?
    Skontaktuj się z twórcą aplikacji.

A sua conta do Serviços de Identidade Intel® será excluída

A Intel descontinuará o Serviços de Identidade Intel®, e todas as contas de Identidade Intel serão excluídas em 1o de agosto de 2014. 

Quando a sua conta for excluída, todas as informações pessoais fornecidas relativas à sua conta de Identidade Intel também serão excluídas, incluindo:

  • Preferências de usuário na aplicação
  • Qualquer informação de perfil adicional que você tenha fornecido

Observe que esse email é enviado apenas uma vez para informá-lo sobre a exclusão da conta descrita acima e você não receberá mais emails sobre esse assunto. 

Você pode visualizar a sua conta do Serviços de Identidade Intel a qualquer momento antes da exclusão programada.

Se você tiver perguntas sobre os Serviços de Identidade Intel, envie sua consulta aqui.

Se tiver perguntas sobre algum aplicativo associado ao Serviços de Identidade Intel (como o Tweeki ou o Pokki), entre em contato com o desenvolvedor da aplicação para mais informações.

Perguntas e respostas:

  1. O que são os Serviços de identidade Intel®?
    Os Serviços de Identidade Intel são um serviço de registro de usuário integrado a vários aplicativos que permite que cada usuário gerencie o perfil, as preferências e os aplicativos associados ao seu perfil.
  2. Por que os Serviços de Identidade Intel estão sendo encerrados e o que isso significa para mim?
    Os Serviços de Identidade Intel faziam parte de um teste beta da Plataforma de Serviços em Nuvem da Intel.  Esse teste beta foi concluído e os Serviços de Identidade Intel® serão finalizados.  Isso significa que a sua conta com os Serviços de Identidade Intel® será excluída.
  3. Quantos comunicados você receberá sobre a descontinuidade dos Serviços de Identidade Intel?
    Este email será a única comunicação que você receberá sobre este tópico. 
  4. Quando a minha conta foi criada? Eu não lembro de ter criado uma conta com os Serviços de Identidade Intel.
    A maioria das contas de Serviços de Identidade Intel foi criada quando o usuário instalou um aplicativo que eles queriam acessar em seu dispositivo.  A criação da conta deve ter sido parte do processo de instalação do aplicativo.
  5. Como posso ver as informações da minha conta?
    Você pode visitar https://yourid.intel.com/identityui?locale=pt e fazer o logon na conta para ver os aplicativos associados à sua conta.
  6. Quando a minha conta de Serviços de Identidade da Intel será excluída?
    Todas as contas de Serviços de Identidade Intel® serão excluídas em 1o de agosto de 2014. 
  7. Que informações serão excluídas da minha conta de Serviços de Identidade Intel?
    Todos os dados contidos na sua conta serão excluídos, incluindo todas as informações de perfil e preferências que você forneceu.   
  8. Eu tenho mais perguntas sobre a minha conta de Serviços de Identidade Intel, a quem eu devo contatar?
    Envie sua consulta sobre os Serviços de Identidade aqui.
  9. Tenho perguntas sobre o aplicativo que foi associado à minha conta de Serviços de Identidade Intel, a quem devo contatar?
    Entre em contato com o desenvolvedor do seu aplicativo. 

Ваша учетная запись в сервисах идентификации Intel® будет удалена

1 августа 2014 года корпорация Intel прекратит поддержку сервисов идентификации Intel® и удалит все учетные записи в сервисах идентификации Intel. 

При удалении учетной записи будет удалена и ваша персональная информация, предоставленная нам для учетной записи в сервисах идентификации Intel, в том числе:

  • Предпочитаемые пользователем приложения
  • Любая предоставленная вами дополнительная информация о профиле

Обратите внимание, это однократное сообщение, информирующее вас об удалении описанной выше учетной записи, больше вы не будете получать электронные письма на данную тему. 

Вы можете просмотреть свою учетную запись в сервисах идентификации Intel в любое время до запланированной даты удаления.

Любые вопросы о сервисах идентификации Intel вы можете отправить здесь.

С вопросами относительно приложений, связанных с сервисами идентификации Intel (например, Tweeki или Pokki), обращайтесь к разработчику данного приложения.

   Вопросы и ответы:

  1. Что такое сервисы идентификации Intel?
    Сервисы идентификации Intel — это сервисы регистрации пользователя, интегрированные с различными приложениями и позволяющие каждому пользователю управлять своим профилем, предпочтениями и приложениями, которые связаны с этим профилем.
  2. Почему завершается поддержка сервисов идентификации Intel и что это означает для меня? 
    Сервисы идентификации Intel были необходимы для бета-тестирования платформы облачных сервисов Intel.  Бета-тестирование завершено, поэтому поддержка сервисов идентификации Intel® будет прекращена.  Это означает, что ваша учетная запись в сервисах идентификации Intel® будет удалена.
  3. Сколько сообщений я получу в связи с прекращением поддержки сервисов идентификации Intel? 
    Данное сообщение будет единственным на эту тему. 
  4. Когда была создана моя учетная запись? Я не помню, чтобы я создавал учетную запись в сервисах идентификации Intel.
    Учетные записи в сервисах идентификации Intel для большинства пользователей были созданы при установке приложения, к которому они хотели получить доступ со своего устройства.  Создание учетной записи могло быть частью процесса установки приложения.
  5. Как посмотреть информацию о моей учетной записи?
    Вы можете посетить веб-сайт https://yourid.intel.com/identityui?locale=ruи войти в свою учетную запись, чтобы узнать, какие приложения связаны с вашей учетной записью.
  6. Когда будет удалена моя учетная запись в сервисах идентификации Intel?
    Все учетные записи в сервисах идентификации Intel® будут удалены 1 августа 2014 года. 
  7. Какая информация будет удалена из моей учетной записи в сервисах идентификации Intel? 
    Будут удалены все данные, содержащиеся в вашей учетной записи, в том числе любая предоставленная вами информация о профиле и предпочтениях.
  8. У меня есть дополнительные вопросы, связанные с моей учетной записью в сервисах идентификации Intel, к кому я могу обратиться? 
    Отправьте свой вопрос о сервисах идентификации Intel здесь.
  9. У меня есть вопросы по приложению, которое было связано с моей учетной записью в сервисах идентификации Intel, к кому я могу обратиться?
    Обратитесь к разработчику своего приложения. 

Ditt konto hos Intel® identitetstjänster kommer att raderas 

Intel® identitetstjänster upphör och alla konton hos Intel identitetstjänster raderas den 1 augusti 2014. 

När ditt konto raderas, raderas även den personliga information du har angett för ditt Intel identitetskonto, inklusive:

  • Användarpreferenser för applikationer
  • All ytterligare profilinformation som du har angett

Observera att detta är ett e-postmeddelande som skickas ut en gång för att informera dig om radering av kontot enligt ovan och du kommer inte att få fler e-postmeddelanden om detta ämne. 

Du kan visa ditt konto hos Intel identitetstjänster när som helst före den schemalagda raderingen.

Om du har frågor om Intel identitetstjänster, skicka din förfrågan här.

Om du har frågor om en applikation som associeras med Intel identitetstjänster (t.ex. Tweeki eller Pokki), måste du kontakta utvecklaren av den applikationen för mer information.

Frågor och svar:

  1. Vad är Intel identitetstjänster?
    Intel identitetstjänster är en användarregistreringstjänst som är integrerad med olika applikationer och ger varje användare möjlighet att hantera sin profil, sina preferenser och applikationer som associeras med deras profil.
  2. Varför avslutas Intel identitetstjänster och vad innebär detta för mig? 
    Intel identitetstjänster var en del av en betatest för Intels molntjänstplattform.  Denna betatest har nu avslutats och Intel® identitetstjänster upphör nu.  Detta innebär att ditt konto hos Intel® identitetstjänster raderas.
  3. Hur mycket kommunikation kommer jag att få avseende upphörandet av Intel identitetstjänster? 
    Detta e-postmeddelande är den enda kommunikation du får om detta ämne. 
  4. När skapades mitt konto? Jag kommer inte ihåg att jag skapat ett konto hos Intel identitetstjänster.
    De flesta användares konton hos Intel identitetstjänster skapades när användaren installerade en applikation som de ville kunna nå på sin enhet.  Skapandet av kontot var en del av installationen av applikationen.
  5. Hur kan jag visa min kontoinformation?
    Du kan besöka https://yourid.intel.com/identityui?locale=sv och logga in till ditt konto för att se de applikationer som associeras med ditt konto.
  6. När raderas mitt konto hos Intel identitetstjänster?
    Alla konton hos Intel® identitetstjänster raderas den 1 augusti 2014. 
  7. Vilken information raderas från mitt konto hos Intel identitetstjänster? 
    Alla uppgifter som finns i ditt konto raderas, inklusive all profil- och preferensinformation som du har angett.
  8. Jag har fler frågor om mitt konto hos Intel identitetstjänster, vem kan jag kontakta? 
    Skicka din förfrågan om Intel identitetstjänster här.
  9. Jag har frågor om den applikation som var associerad med mitt konto hos Intel identitetstjänster, vem kan jag kontakta?
    Kontakta utvecklaren av din applikation.

您的英特尔® 身份标识服务帐户将被删除 

英特尔将终止英特尔® 身份标识服务,所有的英特尔身份标识服务帐户将于 2014 年 8 月 1 日被删除。 

您的帐户被删除时,您为英特尔身份标识服务帐户提供的所有个人信息也将被删除,包括:

  • 用户应用偏好
  • 您提供的任何其它个人资料信息

请注意,向您通知关于上述帐户被删除的这份电子邮件是一次性的,您将不会再收到有关此项事宜的其它电子邮件。 

您还可以在预计的删除日期之前随时查看您的英特尔身份标识服务帐户。

如果您有任何关于英特尔身份标识服务的疑问,请在此处提交您的问题。

如果您有任何关于和英特尔身份标识服务相关联的应用(如 Tweeki 或 Pokki)的问题,则需要联系该应用开发商以了解更多信息。

常见问题解答:

  1. 什么是英特尔® 身份标识服务?
    英特尔身份标识服务是一项用户注册服务;它与各种不同的应用集成,允许用户管理他们的个人资料、偏好和与他们的个人资料相关联的应用。
  2. 为什么要终止英特尔身份标识服务,这对我意味着什么? 
    英特尔身份标识服务是英特尔的云服务平台试用测试的一部分。  此试用测试已结束,因而英特尔® 身份标识服务也将终止。  这意味着您的英特尔® 身份标识服务帐户将被删除。
  3. 我将会收到多少关于终止英特尔身份标识服务的通信?
    这份电子邮件将是您收到的就此主题的唯一通信。 
  4. 我的帐户是什么时候创建的? 我不记得曾经创建过英特尔身份标识服务帐户。
    多数用户的英特尔身份标识服务帐户是在他们安装要在自己设备中访问的应用时创建的。  创建帐户是该应用安装过程的一部分。
  5. 我如何查看我的帐户信息?
    您可以访问 https://yourid.intel.com/identityui?locale=zh-Hans以查看与您的帐户相关联的应用。
  6. 我的英特尔身份标识服务帐户将在什么时候被删除?
    所有的英特尔® 身份标识服务帐户将在 2014 年 8 月 1 日被删除。 
  7. 我英特尔身份标识服务帐户中的哪些信息将被删除? 
    您帐户中的所有数据都将被删除,包括您提供的任何个人资料和偏好信息。
  8. 我有其它关于英特尔身份标识服务帐户的问题,应该找谁联系? 
    请在此提交您关于英特尔身份标识服务的问题。
  9. 我有关于和英特尔身份标识服务帐户相关联的应用的问题,应该找谁联系?
    请联系您的应用开发商。   

您的「Intel® 身份識別服務」帳戶將被刪除

Intel 不再提供「Intel® 身份識別服務」,所有的「Intel® 身份識別服務」帳戶都會在 2014 年 8 月 1 日刪除。 

當您的帳戶被刪除時,您在「Intel® 身份識別服務」帳戶中所提供的個人資訊也全部會被刪除,這些資訊包括:

  • 應用程式使用者偏好設定
  • 您提供的任何其他個人資訊

請注意,有關上述的帳戶刪除,我們僅提供一次性的電子郵件通知,以後我們不會再針對帳戶刪除的主題傳送其他電子郵件。 

在排定的刪除日期之前,您隨時可以檢視您的「Intel® 身份識別服務」帳戶。

如果您有任何關於「Intel® 身份識別服務」的問題,請把問題寄到這裡

如果您的問題是關於與「Intel® 身份識別服務」相關的應用程式 (例如 Tweeki 或 Pokki),您需要與該應用程式的開發者聯繫以獲取更多資訊。   

問與答:

  1. 「Intel® 身份識別服務」是什麼?
    「Intel® 身份識別服務」是一種使用者註冊的服務,這種服務與各種應用程式整合,讓每個使用者都能夠管理自己的設定檔、偏好設定、以及與自己的設定檔相關的應用程式。
  2. 為什麼「Intel® 身份識別服務」要結束呢?這對我會有什麼影響? 
    「Intel® 身份識別服務」是 Intel 的「雲端服務作業平台」測試的一部份。  這項測試已經結束,所以「Intel® 身份識別服務」也會終止。  這就表示,您在「Intel® 身份識別服務」設定的帳戶會被刪除。
  3. 有關終止「Intel® 身份識別服務」這個消息,我會得到多少通知呢? 
    這封電子郵件是有關這個主題的僅此一次通知。 
  4. 我的帳戶是什麼時候建立的? 我不記得曾經在「Intel® 身份識別服務」建立帳戶。
    大部分使用者的「Intel® 身份識別服務」帳戶,都是使用者希望在裝置上可存取某個應用程式,安裝時所建立的。  帳戶建立是應用程式安裝的一部份。
  5. 怎樣才能檢視我的帳戶資訊呢?
    您可以蒞臨 https://yourid.intel.com/identityui?locale=zh-Hant,然後登入您的帳戶,就可以看到與您的帳戶相關的應用程式。
  6. 我的「Intel® 身份識別服務」帳戶什麼時候會被刪除?
    在「Intel® 身份識別服務」上的所有帳戶都會在 2014 年 8 月 1 日刪除。 
  7. 哪些資訊會從我的「Intel® 身份識別服務」帳戶刪除? 
    在帳戶中的所有資料全部都會被刪除,包括您提供的任何設定檔和偏好設定資訊。
  8. 如果我還有更多關於「Intel® 身份識別服務」帳戶的資訊,該聯絡誰呢? 
    請將有關「Intel® 身份識別服務」的問題寄到這裡
  9. 如果我的問題是與「Intel® 身份識別服務」帳戶的應用程式方面有關,該聯絡誰呢?
    請聯絡應用程式的開發者。 

Getting Started with libGDX, a Cross-platform Game Development Framework

$
0
0

Developers who want to develop and debug code on the desktop, natively yet be able to run it on multiple OSs without modification will want to know about libGDX. LibGDX is a Java* game development framework composed of a unified API that works across several platforms. It currently supports Linux*, Windows*, Android*, iOS*, Mac OS X*, and HTML5.

You can find the official documentation here.

To use libGDX, applications must be written in Java. If you have questions about using libGDX, a handy forum is available.

The first step is to set up your development environment. You can read about it here.

In addition to installing Eclipse*, Android SDK, JDK, and ADT plugin, you need the Gradle tooling for Eclipse (see Eclipse-Integration-Gradle project at https://marketplace.eclipse.org/content/gradle-integration-eclipse).

In Eclipse, go to Help > Install New Software:

libgdx fig 01

Install all applications:

libgdx fig 02

Next, create a libgdx project:

To install libGDX, download the gdx-setup.jar here.

After downloading and installing libGDX, you will see this window, allowing you to configure your project.

libgdx fig 03

Fill out the form and click the “Generate” button. You are ready to import a project into your IDE.

In Eclipse you can import your project with the series of commands Import > Gradle > Gradle Project:

libgdx fig 04

On the next dialog, click the Browse button and find the root of your project. Then click Build Model:

libgdx fig 05

Eclipse will download different packages that are needed and build the project. If no errors occur, you will see:

libgdx fig 06

Your project is ready for you to work on.

Since I only chose one OS in the project setup, my project contains only two packages: the FirstLibGDX-core package is for the logic of your game. And the FirstLibGDX-android package contains the code for Android activities.

Quantum ESPRESSO* for Intel® Xeon Phi™ Coprocessor

$
0
0

Purpose

This code recipe describes how to get, build, and use the Quantum ESPRESSO* code for the Intel® Xeon Phi™ coprocessor using the Intel® Math Kernel Library with Automatic Offload.

Introduction1

Quantum ESPRESSO is an integrated suite of open source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudo potentials.

The Quantum ESPRESSO distribution consists of an “historical” core set of components, and a set of plug-ins that perform more advanced tasks, plus a number of third-party packages designed to be interoperable with the core components. To see what Quantum ESPRESSO can do, visit http://www.quantum-espresso.org/project/what-can-qe-do/.

The Quantum ESPRESSO code is maintained by developers around the world, coordinated through the Quantum ESPRESSO Foundation. The code is available as an open source distribution at http://www.quantum-espresso.org/download/.

Code Support for Intel® Xeon Phi™ coprocessor

Running Quantum ESPRESSO code version 5.0.2+ on the Intel® Xeon Phi™ coprocessor requires minimal modifications in the Quantum ESPRESSO build process and no Quantum ESPRESSO source modifications. Simply download the original Quantum ESPRESSO code from http://www.quantum-espresso.org/download/.

Intel Xeon Phi coprocessor support is made through Intel® Math Kernel Library (Intel® MKL) Automatic Offload features. Be sure you are using Intel MKL version 11.1.3 or later, available for download (described below).

Code Access

To get access to the Quantum ESPRESSO code:

  1. Download the original Quantum ESPRESSO code at http://www.quantum-espresso.org/download/.
  2. Obtain the Latest Version of Intel MKL or Intel® Composer XE, which includes the Intel® C/C++ Compiler and Intel MKL available from https://registrationcenter.intel.com/regcenter/register.aspx, or register at https://software.intel.com/en-us/ to get a free 30-day evaluation copy.

Build Directions

1. Unpack the Quantum Espresso source code

tar –xzvf espresso-5.0.2.tar.gz

2. Source the Intel Compiler and MPI* software (adapt the version numbers to the version you have)

source /opt/intel/composer_xe_2013.2.146/bin/compilervars.sh intel64
source /opt/intel/impi/4.1.1/bin64/mpivars.sh

3. Create an initial configuration with defined Intel compilers:

export FC=mpiifort
export F90=$FC
export F77=$FC
export MPIF90=$FC
export FCFLAGS="-O3 -xAVX -fno-alias -ansi-alias -g -mkl -$MKLROOT/include/fftw"
export FFLAGS=$FCFLAGS
export CC=mpiicc
export CPP="icc -E"
export CFLAGS=$FCFLAGS
export AR=xiar
export BLAS_LIBS=""
export LAPACK_LIBS="-lmkl_blacs_intelmpi_lp64"
export FFT_LIBS="-L$MKLROOT/intel64"
./configure --enable-openmp --enable-parallel

4. Edit the make.sys file in the top package directory and modify the DFLAGS variable in order to enable hybrid MPI+openmp mode, fftw3, and scalapack:

DFLAGS = -D__INTEL -D__FFTW3 -D__MPI -D__PARA -D__SCALAPACK -D__OPENMP
BLAS_LIBS = -lmkl_intel_thread -lmkl_core
LAPACK_LIBS = -lmkl_blacs_intelmpi_lp64

5. Build with the threaded Intel MKL, which is required to enable Intel MKL Automatic Offload.

make pw

Running Workloads on the Intel Xeon Phi coprocessor

1. Set up the environment:

source /opt/intel/composer_xe_2013.2.146/bin/compilervars.sh intel64
source /opt/intel/impi/4.1.1/bin64/mpivars.sh
export MKLROOT=
export LD_LIBRARY_PATH=$MKLROOT/lib/intel64:$LD_LIBRARY_PATH

2. Use these additional settings to define the Intel MKL Automatic Offload thresholds:

export MKL_MIC_THRESHOLDS_ZGEMM=500,500,500

3. Set OMP_NUM_THREADS explicitly and PPN for pin script.

4. Enable the Intel MKL Automatic Offload feature with the following (also see ao_pin.sh example below):

MKL_MIC_ENABLE=1

5. Load the MPSS environment with the following shell script:

. /opt/intel/mpss/2.1.6720-16/etc/mpss_vars.sh
export MIC_SYSROOT=/opt/intel/mpss/2.1.6720-16

6. Start the binary with “mpirun” through the thread pinning proxy:

mpirun <mpi_options> ./ao_pin.sh ${path_to_pw}/pw.x <pw_options>

7. The pinning proxy requires correct thread placing on the Intel Xeon Phi coprocessor side. See the run.sh script below for an example.

Shell Script Examples

ao_pin.sh

#!/bin/sh
export MKL_MIC_ENABLE=1
export MKL_DYNAMIC=false
export MKL_MIC_DISABLE_HOST_FALLBACK=1

export MIC_LD_LIBRARY_PATH=$MKLROOT/lib/mic:$MIC_LD_LIBRARY_PATH

# Number of host cores
export HOST_CORE=$(( $PPN * $OMP_NUM_THREADS ))

# MPI process per node
MPI_PER_NODE=$PPN

# Number of MIC cores (minus 1)
MIC_CORE=60

export MKL_MIC_MAX_MEMORY=1G
export MIC_USE_2MB_BUFFERS=64K

MYNODE=$((PMI_RANK / MPI_PER_NODE))
MYRANK=$((PMI_RANK % MPI_PER_NODE))

HALFCORE=$((HOST_CORE / 2))

#export OMP_NUM_THREADS=$((HOST_CORE / MPI_PER_NODE))
export MIC_OMP_NUM_THREADS=$((MIC_CORE * 8 / MPI_PER_NODE))

# 2x oversubscribing on MIC
#export MIC_OMP_NUM_THREADS=$((MIC_CORE * 16 / MPI_PER_NODE))

HOST_FROM=$((MYRANK * OMP_NUM_THREADS))
HOST_TO=$(((MYRANK + 1) * OMP_NUM_THREADS - 1))

MHOST_FROM=$((MYRANK * MIC_OMP_NUM_THREADS + 1))
MHOST_TO=$(((MYRANK + 1) * MIC_OMP_NUM_THREADS))

if [ "$HOST_FROM" -lt "$HALFCORE" ]; then
export OFFLOAD_DEVICES=0
else
export OFFLOAD_DEVICES=1
MHOST_FROM=$((MHOST_FROM - MIC_CORE * 4))
MHOST_TO=$((MHOST_TO - MIC_CORE * 4))
fi

export KMP_AFFINITY=explicit,granularity=fine,proclist=[${HOST_FROM}-${HOST_TO}:1]
export MIC_KMP_AFFINITY=explicit,granularity=fine,proclist=[${MHOST_FROM}-${MHOST_TO}:1]

echo "[${PMI_RANK}] ${OFFLOAD_DEVICES}: ${OMP_NUM_THREADS} => ${KMP_AFFINITY}, ${MIC_OMP_NUM_THREADS} => ${MIC_KMP_AFFINITY}"

numactl --cpunodebind=${OFFLOAD_DEVICES} $@

run.sh

#!/bin/sh
export QE_ROOT=$PWD

cd $QE_ROOT
export WID=AUSURF112
export WDIR=$QE_ROOT/../workloads/$WID
export CORES=$(( $NODES * $PPN * $OMPN ))
export RUNDIR=./rundir/${WID}_${CORES}c_${NODES}x${PPN}x${OMPN}_o_$LSB_JOBID
export BIN=$QE_ROOT/PW/src/pw.x

mkdir -p $RUNDIR
cd $RUNDIR
cp $WDIR/* .
echo "Stay in $PWD"

export OMP_NUM_THREADS=$OMPN
export MKL_NUM_THREADS=$OMPN

export I_MPI_FALLBACK_DEVICE=disable
export I_MPI_FABRICS=shm:dapl
export I_MPI_PIN=disable
export I_MPI_DEBUG=5

export MKL_MIC_ZGEMM_AA_M_MIN=500
export MKL_MIC_ZGEMM_AA_N_MIN=500
export MKL_MIC_ZGEMM_AA_K_MIN=500
export MKL_MIC_THRESHOLDS_ZGEMM=500,500,500


ldd $BIN > pw.ldd.out
mpirun -perhost $PPN -np $CPUS  $LS_SUBCWD/ao_pin.sh $BIN -in ./ausurf.in  2>&1 |tee ./run_${WID}_${CPUS}_${PPN}x${OMPN}omp.mklao.log

Performance Testing2,3

Quantum Espresso is cluster–enabled, even with Intel Xeon Phi coprocessor support. The following chart shows performance and scalability of up to 2.59x compared to the CPU-only baseline, by increasing the number of nodes from 1 to 4, while using two processors and two coprocessors per node.

MPI + OpenMP distributions

 

Configurations without coprocessor:

1 node: MPI6, OMP4

4 nodes: MPI6, OMP4

Configurations with coprocessor

1 node: MPI6, OMP4

4 nodes: MPI6, OMP4

 

Your mileage will vary depending on your workload. Ausurf112 spends a fair amount of time in initialization, and larger workloads with more time spent in Intel MKL sections with Automatic Offload may see even better results.

Testing Platform Configurations4

The following hardware and software were used for the above recipe and performance testing.

Server Configuration:

  • 2-socket/24 cores:
  • Processor: Intel® Xeon® processor E5-2697 V2 @ 2.70GHz (12 cores) with Intel® Hyper-Threading Technology5
  • Network: InfiniBand* Architecture Fourteen Data Rate (FDR)
  • Operating System: Red Hat Enterprise Linux* 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
  • Memory: 64GB
  • Coprocessor: 1X Intel Xeon Phi coprocessor 7120P: 61 cores @ 1.238 GHz, 4-way Intel Hyper-Threading Technology, Memory: 15872 MB
  • Intel® Many-core Platform Software Stack Version 2.1.6720-15
  • Intel® C++ Compiler Version 14.0
  • Intel® MPI Library Version 4.1
  • Intel® Math Kernel Library special engineering build

Quantum ESPRESSO

  • Linux-x64_64-icc
  • CPU (MPI + OMP) – 4T or 8T – best chosen
  • Many Integrated Core – NUM Threads – 120T or 240T – best chosen

 

 

DISCLAIMERS:

 

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm

 

 

1 From the Quantum ESPRESSO website: www.quantum-espresso.org

2 Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.

3 Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel.

Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

4 For more information go to http://www.intel.com/performance

5 Available on select Intel® processors. Requires an Intel® HT Technology-enabled system. Consult your PC manufacturer. Performance will vary depending on the specific hardware and software used. For more information including details on which processors support HT Technology, visit http://www.intel.com/info/hyperthreading.

Intel, the Intel logo, Xeon and Xeon Phi are trademarks of Intel Corporation in the US and/or other countries.

*Other names and brands may be claimed as the property of others.

Copyright © 2014 Intel Corporation. All rights reserved.

ISD Commerce - Intel® Commerce Services REST API Reference

$
0
0

Intel® Commerce Services REST API Reference

 

This is the complete reference for Intel® Commerce Services REST Interface Version 1. This discussion assumes that you already have a basic understanding of Commerce Services REST APIs. If not, see the Intel Commerce Services REST Developer's Guide.

The following list provides basic information to help implement Commerce Services API calls:

  • The term user in this document refers to the consumer, the person using the app to perform a commerce activity such as making a purchase.
  • All developers must have an Intel® Identity Services account established and a commerce store established. See the Intel Commerce Services REST Developer's Guide for more information on this.
  • Calls to execute purchases require the user to have an Intel Identity Services account and to have given permission to the app to access their information.
  • Your app must place the access token for Commerce calls in the HTTP header (or in the URI) prior to executing each call. The descriptions below assume that authorization is already complete and that the app already has a valid access token.
  • Commerce Services returns response status for each call in JSON (JavaScript* Object Notation) format only.
  • Data transferred between apps and Commerce Services data structures (for example, cartStructure) is performed in JSON format.
  • Some of the cart calls support limited anonymous browsing sessions by end-users . Anonymous browsing means one of the following:
    • The user does not have an Intel Identity account.
    • The user has not yet given permission to share their information with Commerce Services.
    • The application has not provided the user's information.

    Anonymous use allows users to create carts and add items to the cart or remove them (but not purchase carts), without sharing their identities with the app.
  • The URL for REST calls is the same for apps that are being developed and have been released (except when testing commerce transactions).
  • A testing path with a base URL of https://api.intel.com/test-commerce/v1/ is provided so you can test commerce transactions without incurring actual credit card charges.
  • You will also need to create test user accounts that use test credit cards to test commerce transactions. These test accounts are actually full Intel Identity Services accounts, but with a separate URL to manage test users. This separate URL is https://test-commerce.intel.com/profile/paymentmethods2.aspx. Consult your Intel representative for information on creating these accounts.

Note: Because tokens are long, in API calls we usually substitute {access_token} or {refresh_token} for the real tokens. For calls that include elements like client ID, client secret, and user ID, we usually substitute {client_id}, {client_secret}, and {userid} for the real elements. In some cases, like initial use, we may show the real token or element. An example access token is shown below:

2/gAAAAB-gK_mJ8IW5-PQX8LkMkHXAl4viM0vRppECIkBVmfR1SOeQgvhLQnQzrwWKnbbsW1AKBzKss6eD0H3p0HMtIwtbgFQpeiqf0hDUEQlXTbt4UpKphIcV95Gc0C3PtkgNboV1TLGCC_bu5gLFXQJGAhmB6lkcJ5UwHGyn8BxFoayTdAEAAIAAAACDjEGPraEwMdWDz5MHNkulggsPdX41i4dMrdVcQdSBOcAP9vt9n0GwVNnJljsSCOH4UNHjosPpm7iwcOfF_4i_4InxRa-jRC0RWJWMxk9Xl-Uhtdv9WlxMgNZeSrSt9ySKCtREeCxYEBI1qwrnAy4a4zZ5aXAevtiXx41T7IQGu3QV2oq_4etvssMPhokSYkRAhk_nSz9dcThH2u8w-NXZl3av-rS9eiGaVxQvqqmRG79F1iw-fu5frOirJSLEofvc9nlGGZOEMk53tC0siRuP8rJOqaBJsOuPWN5widmNlirKuMjkTVShAaw-j03zMS4L39P3iuY-d9zLZUpyP3zh9poaRGEUKU5UXayGZIk76HcSsZBriPjV_84prhbh93F83XkWSOcWk1uwU_5GLPP2vu0VRxTuU_G4d1a3-aIjxE0T_OuFVSY0Lw5aAH2urUCljxbU8XDhKaOG8fi1-_HwII-5v-zLit83yy3QbOEFQ

 

Table of Calls

The following table lists each call by its call group and summarizes the function of the call.

Commerce Services REST API Call Groups
CART
CallDescription
Post CartCreate a new cart.
Delete CartDelete an existing cart.
Update CartUpdate contents of an existing cart.
Get CartGet the contents of an existing cart.
Get Multiple CartsGet the contents of multiple existing carts.
Get Cart StatusGet the status of an existing cart.
Get Cart TaxDetermine taxes on contents of an existing cart.
ORDER
CallDescription
Put Cart PurchasePut Cart Purchase submits an existing cart for purchase.
Post Cart PurchasePost Cart Purchase creates a cart and submits it for purchase in a single call.
Get OrderGet details of an order.
Get Multiple OrdersGet details of multiple orders.
Put RefundSubmit a full or partial refund for a past order.
PROFILE
CallDescription
Get Billing ProfileGet relevant information related to user's commerce billing profile.
SUBSCRIPTION
CallDescription
Post SubscriptionCreates a new subscription.
Put SubscriptionActivates a subscription that was previously created.
Get SubscriptionsGets information on specified subscriptions.
Put Subscription RefundRefund a subscription or part of a subscription.
Cancel Subscription by IDCancels the specified subscription.

Reference Tables

Cart Structure

cartStructure is a structure used by many of the API calls. The following table lists the elements of cartStructure. Not every field appears in every JSON Request or Response. For example, orderId does not appear in Responses until a cart has been purchased. JSON Requests have fewer fields than JSON Responses. The minimum JSON Requests for a call are shown in the discussion for that call.

PARAMETERSREQUIRED?INPUT/OUTPUTDESCRIPTION
actualPriceYesInputActual price of item. Must be equal to or less than listPrice. VAT inclusive but US tax exclusive. See notes below for valid values.
billingCountryNo
(Yes for Get Cart Tax and Put Cart Purchase)
InputBilling country code. Follows ISO 3166-1 alpha-2 format.
cartIdYesOutput
Input
First returned when cart is created. Then used as input for other calls.
commodityCodeYesInputCommodity code used to identify tax rate. These are predefined UNSPSC (United Nations Standard Products and Service Code) values that apps must use for proper taxation on transactions. See the Commodity Codes table for valid values and their meaning.
currencyTypeYesInputCurrency of item prices in cart in ISO 4217 format. See Currency, Currency Codes, and Location Support table for valid values and their meaning.
dateNoOutputThe date of the transaction in UTC. Follows RFC 3339 (ISO 8601) format.
extendedPriceNoOutputquantity * actualPrice. VAT inclusive but US tax exclusive. See notes below for valid values.
externalProductCodeYesInputProvided for developers to use for their own product codes. Maximum number of characters is 100.
idYesOutput
(Input for refund)
Output: unique identifier for each cart line item. id is only required as Input for refund. Valid value: Integer greater than 0.
isTaxCalculatedNoOutputBoolean: 1=yes; 0=no.
lineItemTaxNoOutputTotal tax associated with a given line item. See notes below for valid values.
listPriceYesInputList price of item. Must be equal to or greater than actualPrice. See notes below for valid values.
localeYesInputLocale of items / descriptions / email templates related to a given line item in RFC 5646 format. See Locale Codes and Locales table for valid values and their meaning.
nameYesInputLine item name that you want to appear in invoices. Maximum number of characters is 100.
orderIdYesOutput
(Input for refund)
Returned when cart is purchased. Then used as input to get order information or for a refund (if needed).
orderTotalNoOutputSum of: extendedPrice of all id items + lineItemTax of all id items. See notes below for valid values. See Payment Types, Codes, and Maximum Amounts table below for payment types, codes, and maximum purchase limits.
paymentTypeNoOutputThe payment type that was used to either calculate the tax or make the purchase. Examples: a string such as "VISA" or "AMEX". May be an empty string. See Payment Types, Codes, and Maximum Amounts table below for payment types, codes, and maximum purchase limits.
paymentTypeIdNoOutput
Input
This is returned in some calls such as Update Cart or Get Cart Tax. Can be used by Put Cart Purchase. This number uniquely identifies the paymentType associated with the cart and is influenced by billingCountry and Currency. This is a more precise way to specify the method of payment than paymentType in cases where more than one card of the same paymentType exists (for example, two VISA cards).
quantityYesInputQuantity of item. Valid value is an integer greater than 0.
refundExtendedPriceNoOutputExtended price for refund for a given line item. VAT inclusive but US tax exclusive. See notes below for valid values.
refundLineItemTaxNoOutputRefunded tax for a given line item. See notes below for valid values.
refundQuantityYes*Input
Output
Provided by developers and updated by commerce system. Required for partial refunds only and is returned to represent the quantity that was refunded. Valid value: Decimal number with 2 or fewer decimal places.
refundSubtotalNoOutputSum of refundExtendedPrice for all line items. See notes below for valid values.
refundTaxtotalNoOutputSum of refundLineItemTax from all line items. See notes below for valid values.
refundTotalNoOutputSum of: refundSubtotal + refundTaxTotal for non-VAT countries. For VAT countries, this is the sum of all refundSubtotal entries. See notes below for valid values.
statusNoOutputThis code is returned to show the status of the cart. See Cart Status Codes for valid values and their meaning.
subtotalNoOutputFor non-VAT countries, sum of extendedPrice of all id items. For VAT countries, sum across all id items of (extendedPrice - lineItemTax). See notes below for valid values.
taxTotalNoOutputTotal of all taxes for all id items. See notes below for valid values.
taxTypeNoOutputThis code is returned in Get Cart, Get Carts. Get Order, Put/Post Cart Purchase, Get Cart Tax, and Put Refund to specify the tax type. Valid values are: "none", "vat", and "sales".
userIdNoOutput0=Anonymous; otherwise this is the userId of the user.
Notes
  • Prices are decimal numbers with two or fewer decimal places.
  • When using decimals, use a period as the decimal separator. Do not use a comma as the decimal separator.
  • Responses from cartStructure REST API calls can contain values such as an empty string or the value zero based on factors such as: (1) whether a cart is associated with a user, (2) availability of a user's Billing Profile Information, and (3) whether taxes have been calculated.

Commodity Codes

PRODUCT TYPECOMMODITY CODE
Software4323.120
Video Rental551115.400
eBook551115
Electronic Publication55111506.120
Video Sale55111510.120
Music55111512.100
Data Service811120
Business Use Application Service81112106.100
Service81112201.420

Locales and Locale Codes

LOCALE/LANGUAGELOCALE CODENOTES
Danishda 
Dutchnl 
Englishen 
Finnishfi 
Frenchfr 
Germande 
Italianit 
Japaneseja 
Koreanko 
NorwegiannbAlso maps "no" to Norwegian
Polishpl 
Portuguesept 
Russianru 
Simplified Chinesezh-HANSAlso maps all combinations starting with "zh" to Simplified Chinese, except those listed below for Traditional Chinese.
Spanishes 
Swedishsv 
Traditional Chinesezh-HANTAlso maps the following to Traditional Chinese: "zh-ht", "zh-mo", "zh-tw", and zh-CHT

Currency, Currency Codes, and Currency-to-Location Support

CURRENCYCURRENCY CODESUPPORTED LOCATIONSSUPPORTED PAYMENT TYPES
Brazilian RealBRLBrazilMSCD, VISA, PAYPAL
Canadian DollarCADCanadaAMEX, MSCD, VISA, PAYPAL
EUROEURAland Islands, Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Israel, Italy, Latvia, Lithuania, Luxembourg, Malta , Netherlands, Norway, Poland, Portugal, Romania, Serbia (not PayPal), Slovakia, Slovenia, Spain, Sweden, Switzerland, South Africa, Turkey, United Arab Emirates, VenezuelaMSCD, VISA, PAYPAL
Great Britain PoundGBPGuernsey, Isle of Man, Jersey, United KingdomMSCD, VISA, PAYPAL
Japanese YenJPYJapanAMEX, MSCD, VISA, PAYPAL
Mexican PesoMXNMexicoMSCD, VISA, PAYPAL
Russian RubleRUBRussiaMSCD, VISA
United States DollarUSDArgentina, Chile, Colombia, Costa Rica, Ecuador, United States, Australia, Hong Kong, India, Indonesia, Malaysia, New Zealand, Philippines, Singapore, South Korea, Taiwan, ThailandAMEX, MSCD, VISA, PAYPAL

Payment Types, Payment Codes, and Maximum Amounts

PAYMENT TYPETYPE CODEMAXIMUM PURCHASE AMOUNT
American Express*AMEXMaximum amount must be less than $50,000 USD.
Carte Bleue*CARTEBLEUE-SSLMaximum amount must be less than $50,000 USD.
Cartes Bancaires*CB-SSLMaximum amount must be less than $50,000 USD.
MasterCard*MSCDMaximum amount must be less than $50,000 USD.
VISA*VISAMaximum amount must be less than $50,000 USD.
PayPal*PAYPALMaximum amount must be less than $10,000 USD, £550 GBP, €8000.

Cart Status Codes

STATUSDESCRIPTION
pendingCart has been created and may be modified.
awaiting_web_confirmationA web confirmation is in the process of being shown to the user or has been shown. Awaiting confirmation result to process the cart.
awaiting_sms_confirmationAn SMS confirmation is in the process of being sent to the user or has been sent. Awaiting confirmation result to process the cart.
deletedCart was deleted.
processing_paymentThe purchase process has been initiated and the cart is in the process of being processed.
processing_refundThe refund process has been initiated and the order is in the process of being refunded.
order_completedOrder was completed.
error_payment_systemDuring a purchase attempt, an error occurred not related to the user's payment information, such as tax systems being down, payment processor being down, or a Commerce Services system error.
error_invalid_payment_detailsThe user's payment information was invalid during a purchase. Possible cause are an expired credit card, canceled credit card, credit card that was refused to be processed, or payment information that was invalidated by an administrator.
error_refund_invalid_payment_detailsThe user's payment information was invalid during a refund. Possible causes are an expired credit card, canceled credit card, credit card that was refused to be processed, or payment information that was invalidated by an administrator.
error_refund_systemDuring a refund attempt, an error occurred not related to the user's payment information, such as tax systems being down, payment processor being down, or a Commerce Services system error.
partially_refundedPartial order was refunded.
refundedOrder was refunded.

Example JSON cartStructure showing US Tax

{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "PP14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.09,"extendedPrice": 1.99,"refundQuantity": 0.5,"refundLineItemTax": 0.05,"refundExtendedPrice": 1.00
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "PP13","quantity": 2,"actualPrice": 2.49,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.22,"extendedPrice": 4.98,"refundQuantity": 2,"refundLineItemTax": 0.22,"refundExtendedPrice": 4.98
    }
],"cartId": "f776fd54-e171-42d6-a4ab-2dbf5d376db2","orderId": "f776fd54-e171-42d6-a4ab-2dbf5d376db2","userId": "6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025","currencyType": "USD","locale": "en","subtotal": 6.97,"isTaxCalculated": 1,"orderTotal": 7.28,"taxTotal": 0.31,"refundSubtotal": 5.98,"refundTaxTotal": 0.27,"refundTotal": 6.25,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 4,"date": "2012-06-26T05:49:36Z","taxType": "sales","status": "partially_refunded"
}     

Example JSON cartStructure showing VAT

{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "PP14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.33,"extendedPrice": 1.99,"refundQuantity": 0.5,"refundLineItemTax": 0.17,"refundExtendedPrice": 1.00
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "PP13","quantity": 2,"actualPrice": 2.49,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.83,"extendedPrice": 4.98,"refundQuantity": 2,"refundLineItemTax": 0.83,"refundExtendedPrice": 4.98
    }
],"cartId": "f776fd54-e171-42d6-a4ab-2dbf5d376db2","orderId": "f776fd54-e171-42d6-a4ab-2dbf5d376db2","userId": "6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025","currencyType": "EUR","locale": "en","subtotal": 5.81,"isTaxCalculated": 1,"orderTotal": 6.97,"taxTotal": 1.16,"refundSubtotal": 4.98,"refundTaxTotal": 1.00,"refundTotal": 5.98,"billingCountry": "DE","paymentType": "VISA","paymentTypeId": 4,"date": "2012-06-26T05:49:36Z""taxType": "vat","status": "partially_refunded"
}
}

Basic Commerce Calls

Post Cart

The base URL for all calls in this document points to the Commerce Services Test path (test-commerce in the path). You need to change your base URL (that is, remove the test- element from the path) when moving to the released stage.

Creates a new shopping cart using the information in {cartStructure}. For application authorization, the call returns a shopping cart ID that supports anonymous creation of shopping carts. For user authorization, the call uses a user ID from Intel Identity Services, which returns a shopping cart ID that enables purchases to be made.

The following is the application authorization HTTP method, including the access token in the HTTP header:

MethodPOST
URL Structurehttps://api.intel.com/test-commerce/v1/carts
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)

The following is the user authorization HTTP method, including the user ID from Intel Identity Services in the URI and the access token in the HTTP header:

MethodPOST
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/carts
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartstructureYesRequest bodySee cartStructure description earlier in this document for details.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
useridNoURIUser identity from Intel Identity Services. The user's identity is only available if the user gives the application access to user information.
Example Usage

Application authorization call:

MethodPOST
URLhttps://api.intel.com/test-commerce/v1/carts
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)

User authorization call with user ID from Intel Identity Services:

MethodPOST
URLhttps://api.intel.com/test-commerce/v1/users/02cb74de-4401-4f54-beee-577cd09134a1/carts
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)
JSON Request
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99

    },
    {
        "id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99
    }
],"currencyType": "USD","locale": "en","billingCountry": "US"
}
}
Response Codes
HTTP Error/CodeService Error CodeMessageDescription
201N/AOperation successful. Cart was created successfully.Cart ID is returned. Location Header in response returns location of cart. Example: https://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10001Invalid Request: Prices must be positive values, contain only 2 or fewer decimal places. When using decimals, use a period as the decimal separator not a commaThe Price is not formatted correctly, such as actualPrice: 0.999.
400CMR-10002Invalid Request: Cart structure or refund structure is wrong.The cart or refund structure is incorrect, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, such as 11, or the billing country is unsupported.
400CMR-10008Invalid Request: The store is not configured.Occurs if your store is not present in the system or it is not configured for currencies, countries, and/or payment methods.
400CMR-10009Invalid Request: Either the store is not configured or there exists an invalid value for billing country or currency or locale type.May be generated by invalid data or if the store not present in the system. The store must also be configured for currencies, countries, and payment methods.
404CMR-10015Not Found: The commodity code is invalid.The commodity code is not one of the approved commodity codes.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum order total is reached.The total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP.
409CMR-10022Conflict: The maximum number of line items is reached.The number of line items exceeds the 100 line item limit.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
JSON Response
{"cartId": "6d1d2aa9-0059-4f64-93d8-894ea74800cf"
}       
Notes
  • Once a cart is assigned to a user, it cannot be reassigned to another user or unassigned.
  • If a user is assigned to a cart during this call, and no country or payment method are associated with the cart, then a country and payment method are automatically assigned based on the currency for the cart and the user's preferred payment method. (If the user's preferred payment method does not match the currency for the cart, then the store's preferred payment method is used.)
  • Subsequent calls to access the cart append the cartId to the URI as shown in the following Get Cart call:
Method

GET

URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

Delete Cart

Deletes the specified shopping cart. This operation requires that the application include the access token in the HTTP header and the cartid of the shopping cart that's going to be deleted in the URI:

MethodDELETE
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartidYesURIUnique identifier for the shopping cart to be deleted.
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodDELETE
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
204N/AOperation successful.The specified cart was deleted.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.The store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Possible causes:
  • The cart/order does not exist.
  • The app does not have access to the cart/order.
  • The cart is already deleted.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Possible causes:
  • Cart is ordered then a delete request is submitted before the delete request is done.
  • Cart is ordered then an update request is submitted before the order is done.

Note: Carts with a purchase currently in process cannot be deleted.

Update Cart

Updates the shopping cart specified by {cartid}, using the information in {cartStructure}. For application authorization, the call updates a shopping cart during an anonymous browsing session. For user authorization, the call includes the user ID from Intel Identity Services, which updates a shopping cart that enables purchases.

Application authorization call includes access token in the HTTP header and the cart ID in the URI:

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)

User authorization call includes access token in the HTTP header and both the user ID from Intel Identity Services and the cart ID in the URI:

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/{userid}/carts/{cartid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartstructureYesRequest bodySee cart structure earlier in this section for details.
cartidYesURIUnique identifier for the shopping cart to be updated.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
useridNoURIUser's identity from Intel Identity Services. For the user's identity to be available, the user must authorize access to their information.
Example Usage

Application authorization call:

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)

User authorization call with the user ID from Intel Identity Services:

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/users/02cb74de-4401-4f54-beee-577cd09134a1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)
JSON Request
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99

    },
    {
        "id": 2,"name": "Some Name 3","externalProductCode": "P15","quantity": 1,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99
    }
],"currencyType": "USD","locale": "en","billingCountry": "US"
}
}
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful. Cart was updated successfully.Cart ID is returned. Location Header in response returns location of cart. Example: https://api.intel.com/test-commerce/v1/carts/12345678-1234-1234-1234-123456789ABC
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10001Invalid Request: Prices must be positive values, contain only 2 or fewer decimal places. When using decimals, use a period as the decimal separator not a comma.The Price is not formatted correctly, such as actualPrice: 0.999.
400CMR-10002Invalid Request: Cart structure or refund structure is wrong.The cart or refund structure is incorrect, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, such as 11, or the billing country is unsupported.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10009Invalid Request: Either the store is not configured or there exists an invalid value for billing country or currency or locale type.May be generated by invalid data or by the store not being present in the system. The store must also be configured for currencies, countries, and payment methods.
404CMR-10015Not Found: The commodity code is invalid.The commodity code is not one of the approved commodity codes.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum order total is reached.The order total exceeds 50,000 USD (that is, the total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP).
409CMR-10022Conflict: The maximum number of line items is reached.The number of line items exceeds the 100 line item limit.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
JSON Response
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 3","externalProductCode": "P15","quantity": 1,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    }
],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "0","currencyType": "USD","locale": "en","isTaxCalculated": 0,"billingCountry": "US","paymentType": "","paymentTypeId": 0,"date": "2013-08-07T23:50:58Z","status": "pending","subtotal": 3.98,"orderTotal": 3.98,"taxTotal": 0,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "none"
}
}
Notes
  • The userId value has a value of 0 until a cart is assigned to a user.
  • Once a cart is assigned to a user, it cannot be reassigned to another user, or unassigned.
  • If a user is assigned to a cart during this call, and no country or payment method are associated with the cart, then a country and payment method are automatically assigned based on the currency for the cart and the user's preferred payment method. (If the user's preferred payment method does not match the currency for the cart, then your store's preferred payment method is used.)

Get Cart

Get contents of the specified cart. If a cart has already been put into purchase, this call returns the contents of the order associated with cartid.

The application must include the access token in the HTTP header and the cart ID for the cart in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartidYesURIUnique identifier for the shopping cart you are requesting contents for.
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodGET
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.The structure for the specified cart was returned. See below for example.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-30310Invalid Request: Status is not recognized.The status of the cart is not a valid value.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 3.98
    }
],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "0","currencyType": "USD","locale": "en","isTaxCalculated": 0,"billingCountry": "US","paymentType": "","paymentTypeId": 0,"date": "2013-08-07T23:50:58Z","status": "pending","subtotal": 5.97,"orderTotal": 5.97,"taxTotal": 0,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "none"
}
}

Note: The userId value will be 0 until a cart is assigned to a user.

Get Multiple Carts

Gets all the carts or carts for the specified user. This call enables filtering by dates and/or cart status. This call also enables results to be paged. For application authorization, the call returns shopping cart information regardless of user. For user authorization, the call includes a user ID from Intel Identity Services, which allows information to be gathered for a specific user's carts.

Application authorization call, including the access token in the HTTP header and the date range and paging parameters:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/carts?start_date={YYYYMMDD}&end_date={YYYYMMDD}&$limit={limit}&$offset={offset}&status={status}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a

This is a user authorization call that includes the access token in the HTTP header and the user ID from Intel Identity Services and the date range, paging parameters, and status in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/carts?start_date={YYYYMMDD}&end_date={YYYYMMDD}&$limit={limit}&$offset={offset}&status={status}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
start_dateYesURIStart date for cart information request in UTC format. Minimum start date is 20120101 (2012, January 1).
end_dateYesURIEnd date for cart information request in UTC format. End date must be greater than or equal to the start date.
$limitNoURISpecifies the maximum number of carts to be returned in a page of results. Integer between 0 and 1,000; default if not specified is 500.
$offsetNoURISpecifies the page number to include in the results from the total available pages. Integer greater than 0; default if not specified is 0.
statusNoURICart status. See Cart Status table for valid values. Only valid when userid is also used.
acceptYesRequest headerValue must be "application/json".
useridNoURIUser's identity from Intel Identity Services. The user must authorize the application to use their information for the user's identity to be available.
Example Usage

Application authorization call with start and end dates:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/carts?start_date=20120801&end_date=20120831
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

User authorization call with user ID from Intel Identity Services, start and end dates, and carts with completed orders:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/users/02cb74de-4401-4f54-beee-577cd09134a1/carts?start_date=20120901&end_date=20120930&status=order_completed
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

Application authorization call with start and end dates, and $limit of 50 carts per result with $offset of page 0 (first page):

MethodGET
URLhttps://api.intel.com/test-commerce/v1/carts?start_date=20130701&end_date=20130731&$limit=50&$offset=0
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.JSON format is returned: cartid, date, status, total price, currency type, URI for each cart in the format https://api.intel.com/test-commerce/v1/carts/{cartid}
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10018Invalid Request: The value of the $limit or $offset is incorrect.Note that $limit must be an integer between 0 and 1,000. $offset must be an inter greater than 0.
400CMR-30310Invalid Request: Status is not recognized.The status of the cart is not a valid value.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"currentItemCount": 2,"totalItems": 2,"itemsPerPage": 500,"startIndex": 0,"nextLink": "https://api.intel.com/test-commerce/v1/users/6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025/carts?start_date=20130730&end_date=20130807","previousLink": "https://api.intel.com/test-commerce/v1/users/6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025/carts?start_date=20130730&end_date=20130807&$offset=0&$limit=500","pagingLinkTemplate": "https://api.intel.com/test-commerce/v1/users/6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025/carts?start_date={start_date}&end_date={end_date}&$offset={offset}&$limit={limit}","kind": "carts","items": [
    {"cartId": "507009e3-4336-43a5-9dbb-4547f24f2ff6","userId": "6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025","currencyType": "USD","date": "2013-07-30T01:24:02Z","status": "pending","cartUrl": "https://api.intel.com/test-commerce/v1/carts/507009e3-4336-43a5-9dbb-4547f24f2ff6","totalPrice": 5.97
    },
    {"cartId": "0cc3839d-1291-4f6d-bcf7-aaad862b8354","userId": "6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025","currencyType": "USD","date": "2013-07-30T01:01:47Z","status": "pending","cartUrl": "https://api.intel.com/test-commerce/v1/carts/0cc3839d-1291-4f6d-bcf7-aaad862b8354","totalPrice": 5.97
    }
]
}
}          

Get Cart Status

Get status for the specified cart. The application must include the access token in the HTTP header and the cart ID for the shopping cart in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}/status
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartidYesURIUnique identifier for the shopping cart you are requesting status for.
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodGET
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf/status
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.The status for the specified cart was returned. See below for example.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
404CMR-10016Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart does not exist, (2) Cart is ordered then a delete request is submitted while order is in progress. (3) Cart is ordered then an update request is submitted while order is in progress.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
js
{"cartStatus": "awaiting_web_confirmation"
}

Note: See supported Cart Status Codes.

Get Cart Tax

Calculate tax for the specified cart. This call calculates VAT tax for EEC countries or US tax for the United States. The application must include the access token in the HTTP header and the cart ID for the shopping cart in the URI. Payment type can optionally be included in the URI through paymenttype or paymenttypeid.

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}/tax?paymenttype={paymenttype}&paymenttypeid={paymenttypeid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a

Note: See the notes below for processing rules.

Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
cartidYesURIUnique identifier for the shopping cart you are requesting tax information for.
acceptYesRequest headerValue must be "application/json".
paymenttypeNoURIPayment type to use for the tax calculation, such as "VISA". See Payment Types, Payment Codes, and Maximum Amounts for valid values.
paymenttypeidNoURIPayment Type id to use for the tax calculation. Payment Type Id represents a combination of data including the Billing Country, Currency, and Payment Type and is a number generated by Commerce Services in response to Update Cart and Get Cart Tax. This is a more precise way to specify the method of payment than paymentType in cases where more than one card of the same paymentType exists (for example, two VISA cards).
Example Usage
MethodGET
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf/tax?paymenttype=VISA
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Cart returned with tax information included.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-30610Invalid Request: The payment type is not supported.The format of the payment type is invalid or the payment type is not supported.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.12,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.24,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 3.98
    }
],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","isTaxCalculated": 1,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 2,"date": "2013-08-07T23:50:58Z","status": "pending","subtotal": 5.97,"orderTotal": 6.33,"taxTotal": 0.36,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "sales"
}
}  
Notes
  • Using paymenttypeid is the recommended method of specifying the payment method.
  • If paymenttypeid and paymenttype are both included in the query string, paymenttypeid takes precedence and paymenttype is ignored.
  • If paymenttype is included in the query string, the billing information associated with paymenttype is used for calculating the tax.
  • If paymenttype is not included in the query string, the consumer's preferred payment method is used, assuming it is supported by your Commerce Services store.
  • If the user information or the payment information associated with the user is missing from the system, the call returns an error.
  • The userId value will be 0 until a cart is assigned to a user.

Put Cart Purchase

Put Cart Purchase submits an existing cart (already assigned to a user) to the payment processor. Carts that are successfully purchased become orders.

Note: Put Cart Purchase requires a cart that's already assigned to a user (user authorization access token) and valid payment information.

A basic version of this call uses the billing profile in cartStructure. An alternate version of the call uses the paymenttype or paymenttypeid in the query string.

billingCountry is used to specify a billing profile if billingCountry is present in the cartStructure.

Here is the basic version, with the access token in the HTTP header and the cart ID in the URI (using billing profile in cartStructure):

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}/purchase
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a

Here is the alternate version, with the access token in the HTTP header and the cart ID and payment type or payment type ID associated with the user's Billing Profile in the URI:

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/carts/{cartid}/purchase?paymenttype={paymenttype}&paymenttypeid={paymenttypeid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token must be a user authorization access token.
cartidYesURIUnique identifier for the shopping cart you are submitting for purchase.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
paymenttypeNoURIPayment type to use for the tax calculation, such as "VISA". See Payment Types, Payment Codes, and Maximum Amounts for valid values.
paymenttypeidNoURIPayment Type Id represents a combination of data including the Billing Country, Currency, and Payment Type and is a number generated by Commerce Services in response to Update Cart and Get Cart Tax. This is a more precise way to specify the method of payment than paymentType in cases where more than one card of the same paymentType exists (for example, two VISA cards).
Example Usages

Basic version of the call (using billing profile in cartStructure):

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf/purchase
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a

Alternate version of the call using payment type ID associated with the user's Intel Identity Services profile:

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/carts/6d1d2aa9-0059-4f64-93d8-894ea74800cf/purchase?paymenttypeid=7
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a
JSON Request for Put Cart Purchase

(not applicable for this call)

Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Order was already purchased. cartStructure is returned with current status, taxes, etc.
201N/AOperation successful.Order was created. Updated cartStructure is returned with current status, taxes, etc.
202N/AOperation successful.Confirmation is necessary. Provide URL, SMS instructions and code number, or SMS message stating the confirmation is being sent to phone. cartStructure is not returned at this time. (Updated cartStructure is returned after purchase successfully completes.)
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, such as 11, or the billing country is unsupported.
400CMR-30610Invalid Request: The payment type is not supported.The format of the payment type is invalid or the payment type is not supported by the Commerce Services or by this store.
400CMR-30615Invalid Request: The token is either missing or invalid.Application authorization is required. The access token must include 'profile:basic' access rights.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum order total is reached.The order total exceeds 50,000 USD (that is, the total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP).
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
409CMR-30650Conflict: Minimum purchase price is not reached.The purchase price is below the supported minimum price.
409CMR-30652Conflict: The order total will be denied on the test systems.The total of your order matches the card processor value for denials on the test systems.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
Sample JSON Response for Return Codes 200, 201
  {"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.12,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.24,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 3.98
    }
    ],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","orderId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","isTaxCalculated": 1,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 2,"date": "2013-08-08T00:19:59Z","status": "order_completed","subtotal": 5.97,"orderTotal": 6.33,"taxTotal": 0.36,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "sales"
    }
}       
Notes
  • Using paymenttypeid is the recommended method of specifying the payment method.
  • If this payment type is different than the payment type used for the prior Get Cart Tax call, the tax is recalculated using the current payment type before processing.

Post Cart Purchase

Post Cart Purchase creates a cart from cartStructure, assigns it to a user, and submits it to the payment processor. Carts that are successfully purchased become orders.

Post Cart Purchase uses the current cartStructure and specified user ID and submits the cart for purchase. (It creates the cart, assigns it to a user, and submits it for purchase in a single call.) An alternate version of the call uses the paymenttype or paymenttypeid in the query string.

billingCountry is used to specify a billing profile if billingCountry is present in the cartStructure.

Basic version, with the access token in the HTTP header and using billing profile in cartStructure:

MethodPOST
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/purchase
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Body(see JSON Request below)

Alternate version, with the access token in the HTTP header and payment type or payment type ID associated with the user's Billing Profile in the URI:

MethodPOST
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/purchase?paymenttype={paymenttype}&paymenttypeid={paymenttypeid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Body(see JSON Request below)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token must be a user authorization access token.
useridYesURIUser's identity from Intel Identity Services. The user must give the application access to their information for the user's identity to be available.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
paymenttypeNoURIPayment type to use for the tax calculation, such as "VISA". See Payment Types, Payment Codes, and Maximum Amounts for valid values.
paymenttypeidNoURIPayment Type Id represents a combination of data including the Billing Country, Currency, and Payment Type and is a number generated by Commerce Services in response to Update Cart and Get Cart Tax. This is a more precise way to specify the method of payment than paymentType in cases where more than one card of the same paymentType exists (for example, two VISA cards).
cartStructureYesRequest bodyPost Cart Purchase requires a valid cartStructure in the body.
Example Usages

Single call purchase:

MethodPOST
URLhttps://api.intel.com/test-commerce/v1/carts/users/{userid}/purchase?paymenttypeid=7
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Body(see JSON Request below)
JSON Request for Post Cart Purchase
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99

    },
    {
        "id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99
    }
],"currencyType": "USD","locale": "en","billingCountry": "US"
}
}
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Order was already purchased. cartStructure is returned with current status, taxes, etc.
201N/AOperation successful.Order was created. Updated cartStructure is returned with current status, taxes, etc.
202N/AOperation successful.Confirmation is necessary. Provide URL, SMS instructions and code number, or SMS message stating the confirmation is being sent to phone. cartStructure is not returned at this time. (Updated cartStructure is returned after purchase successfully completes.)
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, such as 11, or the billing country is unsupported.
400CMR-30610Invalid Request: The payment type is not supported.The format of the payment type is invalid or the payment type is not supported by the Commerce Services or by this store.
400CMR-30615Invalid Request: The token is either missing or invalid.Application authorization is required. The access token must include 'profile:basic' access rights.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum order total is reached.The order total exceeds 50,000 USD (that is, the total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP).
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
409CMR-30650Conflict: Minimum purchase price is not reached.The purchase price is below the supported minimum price.
409CMR-30652Conflict: The order total will be denied on the test systems.The total of your order matches the card processor value for denials on the test systems.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
Sample JSON Response for Return Codes 200, 201
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.12,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.24,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 3.98
    }
],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","orderId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","isTaxCalculated": 1,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 2,"date": "2013-08-08T00:19:59Z","status": "order_completed","subtotal": 5.97,"orderTotal": 6.33,"taxTotal": 0.36,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "sales"
}
}       
Notes
  • Using paymenttypeid is the recommended method of specifying the payment method.
  • If this payment type is different than the payment type used for the prior Get Cart Tax call, the tax is recalculated using the current payment type before processing.

Get Order

Get order information after purchase to obtain order history. Returns an instance of {cartStructure} for the specified {orderid}. Can be used to present details of order to the consumer.

The application must include the access token in the HTTP header and the order ID for the desired order in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/orders/{orderid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
orderidYesURIUnique identifier for the order you are requesting information on. (This is the same identifier as cart iD used to make the purchase.)
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodGET
URLhttps://api.intel.com/test-commerce/v1/orders/6d1d2aa9-0059-4f64-93d8-894ea74800cf
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Body(see JSON Request below)
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Order details are returned in cartStructure.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Not found. The order ID does not exist or is invalid. This can occur when: (1) An order does not exist, or (2) The application does not have access to an order.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "P14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.12,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 1.99
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "P13","quantity": 2,"actualPrice": 1.99,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.24,"refundQuantity": 0,"refundLineItemTax": 0,"refundExtendedPrice": 0,"extendedPrice": 3.98
    }
],"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","orderId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","isTaxCalculated": 1,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 2,"date": "2013-08-08T00:19:59Z","status": "order_completed","subtotal": 5.97,"orderTotal": 6.33,"taxTotal": 0.36,"refundSubtotal": 0,"refundTaxTotal": 0,"refundTotal": 0,"taxType": "sales"
}
}       

Get Multiple Orders

Get a list of orders, where each entry in the list represents an order and includes ordernumber, date, status, total price, currency type, and the URL for each order. This call is used after a purchase to obtain order history. This call gets all the orders or orders for the specified user. This call enables filtering by dates allows results to be paged.

For application authorization, the call returns order information for all orders in the date range. For user authorization, the call includes a user ID from Intel Identity Services, which allows order history to be returned for a specific user.

This is an application authorization call, with the access token in the HTTP header and paging parameters in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/orders?start_date={YYYYMMDD}&end_date={YYYYMMDD}&$limit={limit}&$offset={offset}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a

This is a user authorization call, with the access token in the HTTP header, the user ID from Intel Identity Services, and the date range and paging parameters in the URI:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/orders?start_date={YYYYMMDD}&end_date={YYYYMMDD}&$limit={limit}&$offset={offset}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
start_dateYesURIStart date for order information request in UTC format. Minimum start date is 20120101 (2012, January 1).
end_dateYesURIEnd date for order information request in UTC format. End date must be greater than or equal to the start date.
$limitNoURISpecifies the maximum number of orders to be returned in a page of results. Integer between 0 and 1,000; default if not specified is 500.
$offsetNoURISpecifies the page number to include in the results from the total available pages. Integer greater than 0; default if not specified is 0.
acceptYesRequest headerValue must be "application/json".
useridNoURIUser's identity from Intel Identity Services. The user must give the application access to their information for the user's identity to be available.
Example Usage

This is an application authorization call with start and end dates:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/orders?start_date=20120801&end_date=20120831
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

This is a user authorization call with user ID from Intel Identity Services and start and end dates:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/users/{userid}/orders?start_date=20120901&end_date=20120830
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

This is an application authorization call with start and end dates, and a $limit of 50 orders per result with an $offset of page zero (first page):

MethodGET
URLhttps://api.intel.com/test-commerce/v1/orders?start_date=20120801&end_date=20120831&$limit=50&$offset=0
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.JSON format is returned: order ID, date, status, total price, currency type, URI for each cart in the format https://api.intel.com/test-commerce/v1/orders/{orderid}
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10018Invalid Request: The value of the $limit or $offset is incorrect.Note that $limit must be an integer between 0 and 1,000. $offset must be an inter greater than 0.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"currentItemCount": 3,"totalItems": 3,"itemsPerPage": 500,"startIndex": 0,"nextLink": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/orders?start_date=20120701&end_date=20130807","previousLink": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/orders?start_date=20120701&end_date=20130807&$offset=0&$limit=500","pagingLinkTemplate": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/orders?start_date={start_date}&end_date={end_date}&$offset={offset}&$limit={limit}","kind": "orders","items": [
    {"cartId": "cf2bb891-1da0-473f-a01c-10cca01073ad","orderId": "cf2bb891-1da0-473f-a01c-10cca01073ad","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","date": "2013-08-08T00:19:59Z","status": "order_completed","orderUrl": "https://api.intel.com/test-commerce/v1/orders/cf2bb891-1da0-473f-a01c-10cca01073ad","totalPrice": 6.33
    },
    {"cartId": "6fc0c94a-5f77-4d39-aa8b-27df7e2418f5","orderId": "6fc0c94a-5f77-4d39-aa8b-27df7e2418f5","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","date": "2013-08-07T18:02:59Z","status": "order_completed","orderUrl": "https://api.intel.com/test-commerce/v1/orders/6fc0c94a-5f77-4d39-aa8b-27df7e2418f5","totalPrice": 5.29
    },
    {"cartId": "11b14285-8d90-498c-b9f0-706250bc6aca","orderId": "11b14285-8d90-498c-b9f0-706250bc6aca","userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","date": "2013-08-07T17:50:36Z","status": "order_completed","orderUrl": "https://api.intel.com/test-commerce/v1/orders/11b14285-8d90-498c-b9f0-706250bc6aca","totalPrice": 19.37
    }
]
}
}

Put Refund

Requests a full or partial refund on an order. This call is useful for developer Management CSubscription Callsonsole applications. The call to refund a full order must include the access token in the HTTP header, the order ID for the order to be refunded, and the path to /refundfullorder in the URI. No additional information is needed.

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/orders/{orderid}/refundfullorder
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Bodyn/a

The call to refund a partial order must include the access token in the HTTP header, the order ID for the order to be refunded, and the path to /refundpartialorder in the URI. The JSON request must include the refundLines object:

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/orders/{orderid}/refundpartialorder
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
orderidYesURIUnique identifier for the order you are requesting a refund on. (This is the same value as the original cart ID.)
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
refundlineNoRequest bodyThis parameter is required for partial refunds. For partial refunds, refundline must contain a list of id and refundquantity. This parameter should not be included for full refunds.
Example Usage

The following call refunds a full order:

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/orders/6d1d2aa9-0059-4f64-93d8-894ea74800cf/refundfullorder
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Bodyn/a

The following call refunds a partial order:

MethodPUT
URLhttps://api.intel.com/test-commerce/v1/orders/6d1d2aa9-0059-4f64-93d8-894ea74800cf/refundpartialorder
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)
JSON Request Containing refundLines Object for Partial Refund
js
{"data": {"kind": "refundLines","items": [
    {"id": 1,"refundQuantity": 0.5
    },
    {"id": 2,"refundQuantity": 2
    }
]
}
}

See cartStructure for definition and values for refundQuantity.

Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Order was already refunded. This return value is not supported for partial refunds.
201N/AOperation successful.Refund was processed.
202N/AOperation successful.Confirmation is necessary. Provide URL. Cart structure is not returned in this case.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10002Invalid Request: Cart structure or refund structure is wrong.The cart or refund structure is incorrect, but there is no additional information to specify the cause of the error.
400CMR-60011Invalid Request: Order line item is not valid.Order line item is not found.
400CMR-60012Invalid Request: Invalid refund request.Order line refund amount is more than the amount that can be refunded.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Not found. The orderid does not exist or is invalid. This can occur when: (1) an order does not exist, or (2) the application does not have access to an order.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
409CMR-60061Conflict: Request of a refund past the date allowed for refunding.Orders have a limited number of days where a refund can be requested. The request for a refund is past the limit.
409CMR-60062Conflict: Request of a refund before the order has finished processing.Purchases must completely process before a refund can be requested. Typical processing time is between 1 hour and 24 hours.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
JSON Response
js
{"data": {"kind": "cartLine","items": [
    {"id": 1,"name": "Some Name 1","externalProductCode": "PP14","quantity": 1,"actualPrice": 1.99,"commodityCode": "4323.120","listPrice": 1.99,"lineItemTax": 0.09,"extendedPrice": 1.99,"refundQuantity": 0.5,"refundLineItemTax": 0.05,"refundExtendedPrice": 1.00
    },
    {"id": 2,"name": "Some Name 2","externalProductCode": "PP13","quantity": 2,"actualPrice": 2.49,"commodityCode": "551115.400","listPrice": 2.99,"lineItemTax": 0.22,"extendedPrice": 4.98,"refundQuantity": 2,"refundLineItemTax": 0.22,"refundExtendedPrice": 4.98
    }
],"cartId": "6d1d2aa9-0059-4f64-93d8-894ea74800cf","orderId": "6d1d2aa9-0059-4f64-93d8-894ea74800cf","userId": "6a8eb2ad-e8d4-4ac7-aa27-9246bca9a025","currencyType": "USD","locale": "en","subtotal": 6.97,"isTaxCalculated": 1,"orderTotal": 7.28,"taxTotal": 0.31,"refundSubtotal": 5.98,"refundTaxTotal": 0.27,"refundTotal": 6.25,"billingCountry": "US","paymentType": "VISA","paymentTypeId": 4,"date": "2012-06-26T05:49:36Z","taxType": "sales","status": "partially_refunded"
}
}

Get Billing Profile

Get the billing profile associated with the specified user from Commerce Services.This call only returns those payment methods enabled in your store.

The application must include the access token in the HTTP header and the user ID from Intel Identity Services in the URI.

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session.
useridYesURIUser's identity from Intel Identity Services. The user must give the application access to their information for the user's identity to be available.
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodGET
URLhttps://api.intel.com/test-commerce/v1/users/02cb74de-4401-4f54-beee-577cd09134a1
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.User's billing profile is returned with BillingCountry, BillingCurrency, PaymentType, and ConfirmationType.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
JSON Response
{"data": {"kind": "billingProfiles","items": [
    {"billingCountry": "US","billingCurrency": "USD","paymentType": "VISA","paymentTypeId": 5,"confirmationType": "cfm_typ_none","preferredPayment": 1
    },
    {"billingCountry": "DE","billingCurrency": "EUR","paymentType": "MSCD","paymentTypeId": 11,"confirmationType": "cfm_typ_none","preferredPayment": 0
    }
]
}
}
Billing Profile Response

The Billing Profile Response is returned by the Get Billing Profile call. The following table lists the elements of this response.

PARAMETERSDescription
billingCountryBilling country code. Follows ISO 3166-1 alpha-2 format.
billingCurrencyCurrency to use for billing in ISO 4217 format. See Currency, Currency Codes, and Location Support table above.
paymentTypePayment type to use for calculating the tax or making the purchase. Examples: a string such as "VISA" or "AMEX". May be an empty string.
paymentTypeIdThis number uniquely identifies a payment method. This is a more precise way to specify the method of payment than paymentType in cases where more than one card of the same paymentType exists (for example, two VISA cards).
confirmationTypeIdReserved for future use.
preferredPaymentBoolean: 1=this payment type is the preferred type; 0=this payment type is not the preferred payment type. (For Billing Profiles with more than one payment type included, only one can be the preferred payment type.)

Subscription Calls

Subscription Status Codes

Subscription Tables

Subscription Structure

subscriptionStructure is a structure used in JSON Requests and Responses for subscription calls. The following table lists the elements of subscriptionStructure. Not every field appears in every JSON Request or Response. (Many of the fields have identical counterparts as cartStructure).

PARAMETERSREQUIRED?INPUT/OUTPUTDESCRIPTION
subscriptionIdNoOutput
Input
First returned when a subscription is created. Then used as input for many other subscription calls.
billingPeriodYesInput/OutputThis code specifies the billing period. Valid values are: "monthly" or "annual".
billingTypeYesInput/OutputThis code specifies the billing type. Valid values are: "prepay".
startDateYesInput/OutputThis code specifies the starting date for the subscription. Valid values are dates after equal to or later than the current date when the call is made. Valid format is UTC (YYYYMMDD) and "Immediate". Dates follow RFC 3339 (ISO 8601) format. If "Immediate", then the subscription starts now and the user must pay immediately.
maxNumberPeriodsYesInput/OutputAn integer greater than or equal to 1 that specifies the number of billingPeriods that the subscription is active. If -1 is specified as an input, the subscription will be active continuously until canceled. For continuous subscriptions, this field will be blank in JSON output. Must be less than 2,147,483,647.
lastBilledDateNoOutputThe date on which the subscription was last billed. Valid format is UTC (YYYYMMDD).
lastBilledPeriodNoOutputThe billing period on which the subscription was last billed; same as the total number of billing periods to date.
nextBillingDateNoOutputThe next date that the subscription is billed.
storeIdNoOutputThe ID of the store associated with the subscription.
attemptFailuresNoOutputThe number of failed billing attempts for the subscription.
statusNoOutputThe current status of the subscription. See Subscription Status Codes for valid values and their meaning.
productNameYesInput/OutputLine item name to appear in invoices for a subscription. Maximum number of characters is 100.
productCodeYesInput/OutputProvided for developers to use for their own product codes for a subscription. Maximum number of characters is 100.
commodityCodeYesInputCommodity code used to identify tax rate. These are predefined UNSPSC (United Nations Standard Products and Service Code) values that apps must use for proper taxation on transactions. See the Commodity Codes table for supported codes and their meaning.
listPriceYesInput/OutputList price of the subscription. Must be equal to or greater than actualPrice. See notes below for valid values.
actualPriceYesInput/OutputActual price of subscription. Must be equal to or less than listPrice. VAT inclusive but US tax exclusive. See notes below for valid values.
subtotalNoOutputSum of actualPrice of all subscriptionId items. See notes below for valid values.
taxTotalNoOutputTotal of all taxes for all subscriptionId items. See notes below for valid values.
orderTotalNoOutputSum of subtotal and taxTotal. See notes below for valid values. See Payment Types, Payment Codes, and Maximum Amounts table below for payment types, codes, and maximum purchase limits.
refundQuantityNoOutputQuantity of subscriptions being refunded.
refundSubtotalNoOutputSubtotal of the refund for the subscription.
refundTaxNoOutputTax for refundSubtotal.
refundTotalNoOutputSum of refundSubtotal and refundTax. See notes below for valid values.
userIdNoOutputThe userId of the user associated with the subscription.
currencyTypeYesInput/OutputCurrency of item prices in cart in ISO 4217 format. See Currency, Currency Codes, and Location Support table for valid codes and their meaning.
localeYesInput/OutputLocale of subscriptions / descriptions / email templates related to a given subscription in RFC 5646 format. See Locale Codes and Locales table below.

Notes

  • Prices are decimal numbers with two or fewer decimal places.
  • When using decimals, use a period as the decimal separator not a comma.

Subscription Status Codes

Post Subscription

STATUSDESCRIPTION
pendingSubscription has been created, but is not active yet.
activeSubscription is active.
billerrorAn error occurred during when processing billing.
errordoneAn error was detected on 3 sequential billing attempts. No more billing attempts will be made. (The Intel Commerce Services store administrator is notified when this occurs so they can pursue a resolution.)
doneOrder was completed for the subscription.
deletedSubscription was cancelled.

Example JSON subscriptionStructure

{"subscriptionId": "12345678-1234-1234-1234-123456789ABD","billingPeriod": "monthly","billingType": "prepay","startDate": "20130601","maxNumberPeriods": 12,"lastBilledDate": "20130801","nextBillingDate": "20131001","attemptFailures": 0,"status": "billerror","storeId": "eb02432d-6a90-68df-bceb-69590bbb171a","productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"userId": "6a9068df-eb02-432d-bceb-b171a69590bc","currencyType": "USD","locale": "en","refundQuantity": 0,"refundSubtotal": 0,"refundTax": 0,"refundTotal": 0
}

Post Subscription

Creates a new subscription in Commerce Services for the specified user. New subscriptions are created with a pending status and must be activated within 24 hours via a subsequent Put Subscription call.

The JSON request supports attributes to specify the start date and to define the subscription period or create a continuous subscription.

MethodPOST
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userid}/subscriptions
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token must be a user authorization access token.
useridYes The userId of the user associated with the subscription; from Intel Identity Services. The user must give the application access to their information for the user's identity to be available.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
subscriptionStructureYesRequest bodyThis call requires a valid subscriptionStructure in the body.
Example Usage
MethodPOST
URLhttps://api.intel.com/test-commerce/v1/users/{userid}/subscriptions
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below)
JSON Request

One-year monthly subscription with future start date (assume call is made before December 1, 2013).

js
{"productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"billingPeriod": "monthly","startDate": "20131201","maxNumberPeriods": 12,"billingType": "prepay","currencyType": "USD","locale": "en"
}

One-year monthly subscription with immediate start date; billing date occurs monthly on same day as start day.

js
{"productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"billingPeriod": "monthly","startDate": "Immediate","maxNumberPeriods": 12,"billingType": "prepay","currencyType": "USD","locale": "en"
}
Response Codes
HTTP CodeService Error CodeMessageDescription
201N/AOperation successful.Subscription was created. Updated subscriptionStructure is returned the JSON response.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10001Invalid Request: Prices must be positive values, contain only 2 or fewer decimal places. When using decimals, use a period as the decimal separator not a comma.The Price is not formatted correctly. For example, the actualPrice is 0.999.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, such as 11, or the billing country is unsupported.
400CMR-10005Invalid Request: Currency type is invalid or unsupported.The format of the currency type is invalid, such as USX, or the currency type is unsupported, such as CAD.
400CMR-10006Invalid Request: Locale is invalid or unsupported.The format of the locale is invalid, such as "ex", or is unsupported, such as "he" (Hebrew).
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10031Invalid Request: Subscription structure or subscription refund structure is invalid.The subscription / subscription refund structure is incorrect and a more detailed error cannot be provided.
400CMR-10032Invalid Request: Product name is missing or exceeds the maximum length.The product name is mandatory and the limit is 100 characters.
400CMR-10033Invalid Request: Product code is missing or exceeds maximum length.The product code is mandatory and the limit is 100 characters.
400CMR-10034Invalid Request: Billing period is invalid.Billing period is invalid. Valid values are "monthly" or "yearly".
400CMR-10035Invalid Request: Start date format is invalid.Valid dates must be later than today and in YYYYMMDD format or "immediate".
400CMR-10036Invalid Request: Maximum billing period is invalid.The valid maximum number period is -1 or a positive integer number.
400CMR-10037Invalid Request: Billing type is invalid.Billing type is invalid. The only valid type is "prepay".
404CMR-10015Not Found: The commodity code is invalid.The commodity code is not one of the approved commodity codes.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
Sample JSON Response
{"subscriptionId": "172e89c1-b0c0-4188-81e6-d3cea0dfb722","billingPeriod": "monthly","billingType": "prepay","startDate": "20131201","maxNumberPeriods": 12,"lastBilledDate": "","lastBilledPeriod": 0,"nextBillingDate": "20131201","attemptFailures": 0,"status": "pending","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"currencyType": "USD","locale": "en","subtotal": 1.99,"taxTotal": 0.12,"orderTotal": 2.11
}       

Note: Subscriptions that are not activated within 24 hours of being created are deleted from the Commerce Services system.

Put Subscription

Activates a subscription previously created using the Post Subscription call. This call must be executed within 24 hours to activate the subscription created by a previous Post call. Once activated, billing (that is, payment processing) occurs regularly based on the billing date for the subscription.

The start date and subscription period were previously defined by the JSON Request for the Post Subscription call.

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}/purchase
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token must be a user authorization access token.
subscriptionidYesURIUnique identifier for the subscription to be activated. The subscription ID is created via the Post Subscription call.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
Example Usage
MethodPUT
URLhttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}/purchase
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Scopes Already Grantedprofile:basic, billing:confirm, user:scope, user:details
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.Subscription was already activated.
201N/AOperation successful.Subscription was successfully activated. Updated subscriptionStructure is returned the JSON response.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-30615Payment Information Required: Billing profile information is required to process the order.User authorization is required. The access token must include the following access rights: 'profile:basic', 'billing:confirm', 'user:details', and 'user:scope'.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10038Not Found: The subscription ID is invalid or the subscription was not found.Either the subscription does not exist or the app does not have access to the subscription.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum ordertotal is reached.The order total exceeds 50,000 USD (that is, the total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP).
409CMR-10040Conflict: Status of subscription prevents the requested action.Occurs if the subscription is completed, deleted, or has an error status like: billerror or errordone.
409CMR-10041Conflict: Activation must occur with 24 hours of creation.The requested activation is past the 24-hour time window since the original POST Subscription call.
409CMR-30650Conflict: Minimum purchase price is not reached.The purchase price is below the supported minimum price.
409CMR-30652Conflict: The order total will be denied on the Test systems.The order total matches the card processor's amount for denials on Test systems. (Some card processors define specific amounts for testing error logic; these amounts will generate errors during testing.)
Sample JSON Response
js
{"subscriptionId": "172e89c1-b0c0-4188-81e6-d3cea0dfb722","billingPeriod": "monthly","billingType": "prepay","startDate": "20131201","maxNumberPeriods": 12,"lastBilledDate": "","lastBilledPeriod": 0,"nextBillingDate": "20131201","attemptFailures": 0,"status": "active","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"currencyType": "USD","locale": "en","subtotal": 1.99,"taxTotal": 0.12,"orderTotal": 2.11,"refundQuantity": 0,"refundSubtotal": 0,"refundTax": 0,"refundTotal": 0
}
Notes
  • Initial billing occurs based on the future date of startDate. If startDate is set to immediate, the billing occurs immediately upon activation.
  • Billing for activated subscriptions occurs periodically based on the billingdate for the subscription.
  • The payment for subscriptions uses the same payment processor used for the Put/Post Cart Purchase calls.
  • Subscriptions that are not activated within 24 hours of being created are deleted from the Commerce Services system.

Get Subscriptions

Gets information on the subscriptions specified in the call. Subscriptions can be queried based on billing date, the start and end date, a specific user, a specific status, or for a combination of attributes. This call enables results to be paged.

Two versions of the call are supported. The first version specifies a specific billing date:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/subscriptions/billingdate/{YYYYMMDD}?$limit={limit}&$offset={offset}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a

The second version of the call specifies start_date and end_date with an optional userId:

MethodGET
URL Structurehttps://api.intel.com/test-commerce/v1/users/{userId}/subscriptions?start_date={YYYYMMDD}&end_date={YYYYMMDD}&status={status}$limit={limit}&$offset={offset}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token can be an authorization or user authorization access token.
*Must contain either billingdate or start_date/end_date but not both.
billingdate*YesURISpecifies the billing date to query on. Date must be in UTC format. The response includes a list of all subscriptions billed or to be billed on that date.
useridNoURIThe userId of the user associated with the subscription(s); from Intel Identity Services. The user must give the application access to their information for the user's identity to be available.
start_date*YesURISpecifies the starting date for a date range. Date must be in UTC format. Earliest allowed date is January 1, 2012. Subscriptions created, to be billed, or were actually billed within the date range will be included in the response.
end_date*YesURISpecifies the ending date for a date range. Date must be in UTC format. Subscriptions created, billed, or to be billed within the date range are included in the response.
statusNoURISpecifies the status of the subscriptions to be included in the query. Can be used to further limit the subscriptions returned in the response.
$limitNoURISpecifies the maximum number of subscriptions to be returned in a page of results. Integer between 0 and 1,000; if not specified, the default is 500.
$offsetNoURISpecifies the page number to include in the results from the total available pages. Integer greater than 0; if not specified, the default is 0.
acceptYesRequest headerValue must be "application/json".
Example Usage

Specifies a billing date:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/subscriptions/billingdate/20130716
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a

Specifies the start date, end date, status, page size, and page offset:

MethodGET
URLhttps://api.intel.com/test-commerce/v1/subscriptions?start_date=20130601&end_date=20130831&status=active$limit=30&$offset=3
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
200N/AOperation successful.The structure for the specified subscription was returned. See below for example.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10018Invalid Request: The value of the $limit or $offset is incorrect.Check the values of $limit and $offset and correct them.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
Sample JSON Response
{"data": {"currentItemCount": 3,"totalItems": 3,"itemsPerPage": 500,"startIndex": 0,"nextLink": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/subscriptions?start_date=20130601&end_date=20130808&_=1375973748929","previousLink": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/subscriptions?start_date=20130601&end_date=20130808&status=&$limit=500&$offset=0","pagingLinkTemplate": "https://api.intel.com/test-commerce/v1/users/23147cd5-6e47-46e4-8e93-59780b5bc15c/subscriptions?start_date={start_date}&end_date={end_date}&status={status}&$limit={limit}&$offset={offset}","kind": "subscriptions","items": [
    {"subscriptionId": "172e89c1-b0c0-4188-81e6-d3cea0dfb722","billingPeriod": "monthly","billingType": "prepay","startDate": "20131201","maxNumberPeriods": 12,"lastBilledDate": "","lastBilledPeriod": 0,"nextBillingDate": "","attemptFailures": 0,"status": "deleted","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","refundQuantity": 0,"refundSubtotal": 0,"refundTax": 0,"refundTotal": 0
    },
    {"subscriptionId": "afe95886-9fd8-461c-b79b-ee9c3ff82488","billingPeriod": "monthly","billingType": "prepay","startDate": "20131101","maxNumberPeriods": 12,"lastBilledDate": "","lastBilledPeriod": 0,"nextBillingDate": "20131101","attemptFailures": 0,"status": "active","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Saurabh's World Music Monthly","productCode": "MAG-SB0141","commodityCode": "4323.120","listPrice": 3.99,"actualPrice": 2.99,"userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","refundQuantity": 0,"refundSubtotal": 0,"refundTax": 0,"refundTotal": 0
    },
    {"subscriptionId": "dcba8081-da9e-4080-afd3-76c5783ed68c","billingPeriod": "monthly","billingType": "prepay","startDate": "20131201","maxNumberPeriods": 12,"lastBilledDate": "","lastBilledPeriod": 0,"nextBillingDate": "20131201","attemptFailures": 0,"status": "active","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Dan Barry's Recipes","productCode": "MAG-DB0235","commodityCode": "4323.120","listPrice": 2.99,"actualPrice": 1.99,"userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","refundQuantity": 0,"refundSubtotal": 0,"refundTax": 0,"refundTotal": 0
    }
]
}
}       

Put Subscription Refund

Refunds the specified subscription or part of the subscription.

MethodPUT
URL Structurehttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}/refund
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Content-Type:{contenttype}
Body(see JSON Request below for refund quantity)
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token can be an application or user authorization access token.
subscriptionidYesURIUnique identifier for the subscription to process a refund against.
acceptYesRequest headerValue must be "application/json".
contenttypeYesRequest headerValue must be "application/json".
Example Usage
MethodPUT
URLhttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}/refund
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Content-Type:application/json
Body(see JSON Request below for refund quantity)
JSON Request
{"refundQuantity": 0.5
}
Response Codes
HTTP CodeService Error CodeMessageDescription
201N/AOperation successful.Refund was successfully applied. subscriptionStructure is returned with response.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10002Invalid Request: Cart structure or refund structure is wrong.The cart or refund structure is incorrect, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-60012Invalid Request: Invalid refund request.Order line refund amount is more than amount remaining which can be refunded.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-60061Conflict: Request of a refund past the date allowed for refunding.Orders have a limited number of days where a refund can be requested. The request for a refund is past this date.
409CMR-60062Conflict: Request of a refund before the order has finished processing.Purchases must completely process before a refund can be requested. Typical wait time before a refund can be requested is between 1 hour and 24 hours.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.
Sample JSON Response
{"subscriptionId": "7b9021b7-73d7-42c1-aa90-0e79abaddf31","billingPeriod": "monthly","billingType": "prepay","startDate": "20130808","maxNumberPeriods": 12,"lastBilledDate": "20130808","lastBilledPeriod": 1,"nextBillingDate": "20130908","attemptFailures": 0,"status": "active","storeId": "H0jaWh3JiN6x9OpVD7Ydb52pvENHyjG6","productName": "Environment Vista Monthly","productCode": "MAG-114","commodityCode": "4323.120","listPrice": 1.99,"actualPrice": 0.99,"userId": "23147cd5-6e47-46e4-8e93-59780b5bc15c","currencyType": "USD","locale": "en","refundQuantity": 0.5,"refundSubtotal": 0.5,"refundTax": 0.03,"refundTotal": 0.53
}       

Cancel Subscription by ID

Cancels the subscription specified by the subscription ID:

MethodDELETE
URL Structurehttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:{accept}
Bodyn/a
Input Parameters
PARAMETERSRequired?Input TypeDescription
access_tokenYesRequest headerUnique access token for the current session. For this call, the access token can be an application or user authorization access token.
subscriptionidYesURIUnique identifier for the subscription to be cancelled.
acceptYesRequest headerValue must be "application/json".
Example Usage
MethodDELETE
URLhttps://api.intel.com/test-commerce/v1/subscriptions/{subscriptionid}
Headers
KeyValue
Authorization: Bearer{access_token}
Accept:application/json
Bodyn/a
Response Codes
HTTP CodeService Error CodeMessageDescription
204N/AOperation successful.Subscription was successfully deleted.
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
404CMR-10038Not Found: The product code is invalid or the subscription with the given product code was not found.Either the product code does not exist or developer does not have access to this subscription with the given product code.
404CMR-10039Not Found: The subscription id is invalid or the subscription was not found.Either the subscription does not exist or the app does not have access to the subscription.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.

Billing Profile Page

Users must set up a billing profile in Commerce Services before making purchases. Commerce Services accesses this profile as needed to calculate taxes, complete a purchase, or process a refund.

When an app detects that no billing profile exists, the app can forward the user to a Commerce Services page to create their billing profile. The Billing Profile page screens allow users to add payment methods. The base URIs for Billing Profile pages for testing vs. production use are as follows:

Testing URI:

https://test-commerce.intel.com/profile/billingprofile.aspx?apikey={client_id}&cartid={cartid}

 

Production URI:

https://commerce.intel.com/profile/billingprofile.aspx?apikey={client_id}&cartid={cartid}

 

You must include your client_id in the URL as the value for apikey. Some basic information is already filled in from the user's Intel Identity Services account, after they approve sharing of their information with the Billing Profile page. The user must complete the remaining Billing Profile's required fields and include at least one payment method.

Note: Developers must ensure through their own testing that the Success, Fail, and Callback URLs associated with the Billing Profile page are working URLs. Commerce Services does not validate these links. All callback URLs in the call must be fully qualified and start with http:// or https://.

Example using parameters:

https://test-commerce.intel.com/profile/billingprofile.aspx?apikey=8e9df53c-d28f-11e1-bd04-0050568c00f9&cartid={cartid}&success_url=https://testapp.greatapps.com/intelbilling/success.aspx&locale=en&error_url=https://testapp.greatapps.com/intelbilling/error.aspx&locale=en&code&error&callback_function=https://testapp.greatapps.com/intelbilling/callfunction.aspx&locale=en

 

Example success:

https://test-commerce.intel.com/profile/error.aspx?code=200&message=

 

Example fail:

https://test-commerce.intel.com/profile/error.aspx?code=CMR-80014&message=Locale+is+unsupported+or+invalid

 

Example using a non-English locale:

https://test-commerce.intel.com/profile/billingprofile.aspx?apikey=8e9df53c-d28f-11e1-bd04-0050568c00f9&cartid={cartid}&success_url=https://testapp.greatapps.com/intelbilling/success.aspx&locale:de&error_url=https://testapp.greatapps.com/intelbilling/error.aspx&locale:de&code&error&callback_function=https://testapp.greatapps.com/intelbilling/callfunction.aspx&locale=de
Input Parameters
PARAMETERSRequired?Input TypeDescription
apikeyYesURIThe unique client_id for the app. (Your Commerce Services store is associated with this client_id.)
successurlNoURIRedirect URL if payment was successfully authorized.
errorurlNoURIRedirect URL if the payment was not successfully authorized.
localeNoURIBrowser locale is the default if this parameter is not passed. "en" is the default if the browser does not pass a locale. See the Locales and Locale Codes table for supported locales.
callbackurlNoURICallback URL to redirect the user prior to using the Success or Error URLs above.
cartidNoURIWhen Cart ID is included, the Billing Profile Page lists the names and prices of the items in the cart in addition to the user's billing profile information.
Output Parameters
PARAMETERSDescription
errorcodeCMR-{unique_error_code}, where {unique_error_code} is a unique error code. See Error Codes below.
errormessageA very brief description of the code meaning. See the Response Codes table below.
Response Codes
Error CodeMessageDescription
CMR-80000GENERIC_ERRORUnexpected error during Billing Profile access.
CMR-80001INVALID_USERInvalid user ID.
CMR-80003INVALID_PROFILE_IDInvalid profile ID.
CMR-80004INVALID_PAYMENT_TYPEInvalid payment type.
CMR-80005INVALID_EXPIRATION_DATEInvalid expiration date.
CMR-80006INVALID_USER_PAYMENT_METHODInvalid user payment method.
CMR-80007INVALID_COUNTRY_CODEInvalid country code or not valid strings (non-existent Country Code).
CMR-80008INVALID_MERCHANT_IDInvalid merchant ID.
CMR-80009INVALID_ARGUMENTSInvalid arguments.
CMR-80010INVALID_DATE_TIMEInvalid transaction date time.
CMR-80011BILLING_PROFILE_NOT_FOUNDThe Billing Profile not found.
CMR-80012INVALID_API_KEYYour APIKey (client ID) is not provided or is invalid.
CMR-80013STORE_NOT_FOUNDThere is no store associated with the APIKey.
CMR-80014INVALID_LOCALEThe locale is unsupported or invalid.
CMR-80015PAYMENT_PROCESSING_ERRORThere was an error with the billing information at the payment processor.
CMR-80016PAYMENT_PROCESSING_ERRORThere was a problem at the payment processor.
CMR-80017INVALID_DATALegal restrictions prevent us from fulfilling the request.
CMR-80018GENERIC_ERRORGeneral Commerce Services error.
CMR-80019PAYMENT_PROCESSING_ERRORThere was a problem at the payment processor as this transaction was determined to be a high fraud risk.

Note: The Billing Profile page with no cart item contents is displayed by default when the Cart ID is not present or is incorrect, or when the cart is associated with a different user than the current user.

Error Handling

When errors are detected during an API call, an HTTP error is returned with detailed error information in the body of the JSON response. The following example shows one possible error message for HTTP Error 400:

{"error" : {"code": "CMR-10023","message": "Conflict: Status of cart/order prevents the requested action.","requestId": "c962fe29-d4e8-11e1-bd04-0050568c00f9"
}
}

Commerce Services error messages start with a CMR- prefix. If you see a different prefix, or no prefix, the error was returned by other services, such as Intel Identity Services.

Commerce Services REST Error Messages
HTTP Error/CodeService Error CodeMessageDescription
400CMR-10000Invalid Request: Generic ErrorAn error occurred, but there is no additional information to specify the cause of the error.
400CMR-10001Invalid Request: Prices must be positive values, contain only 2 or fewer decimal places. When using decimals, use a period as the decimal separator not a comma.The Price is not formatted correctly, such as actualPrice: 0.999.
400CMR-10002Invalid Request: Cart structure or refund structure is wrong.The cart or refund structure is incorrect, but there is no additional information to specify the cause of the error.
400CMR-10003Invalid Request: User ID is invalid.The format of the user ID is invalid.
400CMR-10004Invalid Request: Invalid billing country or unsupported billing country.Occurs when the billing country syntax is invalid, (for example, 11) or the billing country is unsupported.
400CMR-10005Invalid Request: Currency type is invalid or unsupported.The format of the currency type is invalid, such as USX (instead of USD), or when the currency is not supported. See Currency, Currency Codes, and Location Support table for valid values and their meaning.
400CMR-10006Invalid Request: Locale is invalid or unsupported.The format of the locale is invalid, such as ex, or is unsupported, such as he (Hebrew).
400CMR-10007Invalid Request: Date format is invalid.The date format is not valid or the start date is before the minimum start date of 20120101. (Format is YYYYMMDD.)
400CMR-10008Invalid Request: The store is not configured.Your store must be present in the system to execute this operation and be configured for currencies, countries, and payment methods.
400CMR-10009Invalid Request: Either the store is not configured or there exists an invalid value for billing country or currency or locale type.May be generated by invalid data or by the store not being present in the system. The store must also be configured for currencies, countries, and payment methods.
400CMR-10018Invalid Request: The value of the $limit or $offset is incorrect.Check the values of $limit and $offset and correct them.
400CMR-10031Invalid Request: Subscription structure or subscription refund structure is invalid.The subscription / subscription refund structure is incorrect and a more detailed error cannot be provided.
400CMR-10032Invalid Request: Product name is missing, invalid, or exceeds the maximum length.The product name is mandatory and the limit is 100 characters. The product name cannot contain the symbols < or >.
400CMR-10033Invalid Request: Product code is missing, invalid, or exceeds maximum length.The product code is mandatory and the limit is 100 characters.The product name cannot contain the symbols < or >.
400CMR-10034Invalid Request: Billing period is invalid.Billing period is invalid. It must be monthly or yearly.
400CMR-10035Invalid Request: Start date format is invalid.Valid dates must be later than today and in YYYYMMDD format or immediate.
400CMR-10036Invalid Request: Maximum billing period is invalid.The valid maximum number period is -1 or a positive integer number.
400CMR-10037Invalid Request: Billing type is invalid.Billing type is invalid and currently accepts only prepay.
400CMR-30310Invalid Request: Status is not recognized.The status of the cart is not a valid value.
400CMR-30610Invalid Request: The payment type is not supported.The format of the payment type is invalid or the payment type is not supported.
400CMR-30615Invalid Request: The token is either missing or invalid.Application authorization is required. The access token must include profile:basic access rights.
400CMR-60011Invalid Request: Order line item is not valid.Order line item is not found.
400CMR-60012Invalid Request: Invalid refund request.Order line refund amount is more than amount remaining that can be refunded.
402CMR-10010Payment Information Required: Billing profile information is required to process the order.The billing information is invalid or insufficient to process the order.
404CMR-10015Not Found: The commodity code is invalid.The commodity code is not one of the approved commodity codes.
404CMR-10016Not Found: The cart/order ID or the cart/order was not found.Either the cart/order does not exist or the app does not have access to the cart/order. Can also appear with regard to subscriptions.
404CMR-10017Not Found: The user ID is not valid.The user does not exist in the system. (Not a format issue.)
404CMR-10038Not Found: The subscription id is invalid or the subscription was not found.Either the subscription does not exist or the app does not have access to the subscription.
404CMR-10039Not Found: The product code is invalid or the subscription with the given product code was not found.Either the product code does not exist or developer does not have access to this subscription with the given product code.
406CMR-10020Not acceptable.The message format requested for the client response is not supported.
409CMR-10021Conflict: Maximum ordertotal is reached.The order total exceeds 50,000 USD (that is, the total is equal to or greater than 50,000.01 USD or 41,000.01 EUR or 32,000.01 GBP).
409CMR-10022Conflict: The maximum line item number is reached.The number of line items exceeds the 100 line item limit.
409CMR-10023Conflict: Status of cart/order prevents the requested action.Occurs if: (1) Cart is ordered then a delete request is submitted. (2) Cart is ordered then an update request is submitted. Can also appear with regard to subscriptions.
409CMR-10024Conflict: The maximum length of the line item is exceeded.The line item name exceeds the 100 character limit.
409CMR-10040Conflict: Status of subscription prevents the requested action.Occurs if the subscription is completed, deleted, or has an error status like: billerror or errordone.
409CMR-10041Conflict: Activation must occur with 24 hours of creation.The requested activation is past the 24-hour time window since the original POST Subscription call.
409CMR-30650Conflict: Minimum purchase price is not reached.The purchase price is below the supported minimum price.
409CMR-60061Conflict: Request of a refund past the date allowed for refunding.Orders have a limited number of days where a refund can be requested. The request for a refund is past this date.
409CMR-60062Conflict: Request of a refund before the order has finished processing.Purchases must completely process before a refund can be requested. Typical processing time is between 1 hour and 24 hours.
415CMR-10030Unsupported Media Type.The message format from the client is currently not supported.

Legal Information

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Intel, the Intel logo, and Intel Identity Services are trademarks of Intel Corporation in the U.S. and/or other countries.

* Other names and brands may be claimed as the property of others.

Copyright © 2013-2014, Intel Corporation. All rights reserved.


Code Recipes for Intel® Xeon Phi™ Coprocessor

$
0
0

This page contains a growing compendium of commonly accessible or downloadable code that can be run on Intel® Xeon Phi™ Coprocessors.

If you have completed an upstream promotion of a community code, please post a thread on the Intel® Many Integrated Core Architecture Forum to let us know, so that we can update this list.

Latest changes:
6/04/2014 -- Added recipe for Quantum ESPRESSO* for Intel® Xeon Phi™ Coprocessor
5/30/2014 -- Added recipe for LAMMPS* for Intel® Xeon Phi™ Coprocessor
5/22/2014 -- Added recipe for Mathworks* MATLAB
5/22/2014 -- Added recipe for GROMACS for Intel® Xeon Phi™ Coprocessor
5/15/2014 -- Added recipe for Binomial Options Pricing Model
4/14/2014 -- Added recipe for tHogbom Clean
3/20/2014 -- Added recipe for running WRF with conus2.5km benchmark in Symmetric mode

Code (in Alphabetical order)DescriptionSegmentWhere to downloadInstall recipe (if needed)
BOPM (Binomial Options Pricing Model)BOPM is a generalized numerical method used to value options in the quantitative Financial Services industryFinancial ServicesBOPMFollow this recipe to build and run
EmbreeCollection of high-performance ray tracing kernels developed at IntelDigital Content Creationhttp://embree. github.ioSee this recipe for how to demonstrate the rendition of the Crown model on Intel(R) Xeon Phi(tm) Coprocessor
GEMM, STREAM, LinpackGEMM and Linpack both exercise basic dense matrix operations targeting floating point performance on the coprocessor. STREAM is a test of memory bandwidth targeting GDDR memory performance.AcademicThese benchmarks can be obtained when downloading the Intel® MPSS-- these are included in optionally installed performance packages that will put the benchmarks and related documentation into /opt/intel/mic/perf on the 2.x version of the MPSS  or  /usr/share/micperf if using an MPSS 3.1.* release

Intel® MPSS 2.1 users:  Follow guidance from Chapter 5 of the Intel® MPSS Readme on installation and configuration.

Intel® MPSS 3.1 users:   Follow guidance from Chapter 4 of the MPSS_Users_ Guide on installation and configuration

For STREAM, if you prefer to download source yourself, compilation and optimization recipe is here

GROMACS for Intel® Xeon Phi™ CoprocessorGROMACS is a versatile package to perform molecular dynamics, using Newtonian equations of motion.Chemical SimulationsGROMACSFollow this recipe to build and run
GTC-P (Gyrokinetic Toroidal Code - Princeton)The gyrokinetic toroidal code (GTC) is a massively parallel, particle-in-cell code for turbulence simulation in support of the burning plasma experiment , the crucial next step in the quest for fusion energy. This is a 2D domain decomposition version of the GTC global gyrokinetic PIC code for studying microturbulent core transport.AcademiaSubmit a request for the code here.

Follow instructions here to build and run

LAMMPS* for Intel® Xeon Phi™ CoprocessorLarge-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS*) is a classical molecular dynamics code.Molecular DynamicsLAMMPSFollow this recipe to build and run
LBS3DSimulation tools for multiphase flows based on the free energy Lattice Boltzmann Method (LBM), important for Computational Fluid Dynamics. The code allows for the simulation of quasi-incompressible two-phase flows, and uses multiphase models that allow for large density ratios.Manufacturingmplabs

Follow compilation instructions here

(Also reference whitepaper)

Mantevo MiniFE

Self-contained, stand-alone mini-application which encapsulates the most significant performance characteristics (generation, assembly, solution) of an implicit finite element method application in C++ code. The physical domain is a three-dimensional box modeled by hexahedral elements (sometimes called "brick" elements). The box is discretized as a structured grid but treated as unstructured. The domain is decomposed for parallel execution using recursive coordinate bisection (RCB).

Academicmantevo.org> Download

Follow guidance from this MiniFE Case Study to understand what flags/options to use to run MiniFE on host, coprocessor, or both

Mathworks* MATLAB*

Interactive software program that performs mathematical computations and visualization

Signal Processing and Communications, Digital Content Creation, Financial Services, Computational Biologymathworks.com

See This recipe on how to use via the Intel(R) Math Kernel Library Automatic Offload features

MPI-HMMER

A version of HMMER, a hidden Markov model for analyzing protein sequences. In this version, two routines, hmmsearch and hmmpfam have been modified to use MPI for parallelism.

Academic

http://mpihmmer.org

See this recipe for compilation and optimization
Quantum ESPRESSO* for Intel® Xeon Phi™ Coprocessor

Quantum ESPRESSO is an integrated suite of open source computer codes for electronic-structure calculations and materials modeling at the nanoscale.

Materials Modeling

Quantum ESPRESSO*

Follow this recipe to build and run
SHOC

The Scalable Heterogeneous Computing Benchmark Suite (SHOC GitHub) may be used for measuring performance and stability of Coprocessor based systems. The benchmark has been ported to support Intel® Xeon Phi™ using offload programming constructs implemented in the Intel® Compiler that is available as part of Intel® Composer XE 2013 package.

Academic

GitHub

See this recipe for configuration and compilation
tHogbom Clean

Benchmark that implements the kernel of the Hogbom Clean deconvolution algorithm.  Part of the ASKAP benchmark package, used to benchmark platforms for the Australian SKA Pathfinder (ASKAP) Science Data Processor

Astronomy, Academic

GitHub

See this recipe for configuration and compilation
WRFThe Weather Research and Forecasting (WRF) model is a numerical weather prediction system designed to serve atmospheric research and operational forecasting needs. WRF is used by academic atmospheric scientists, forecast teams at operational centers, application scientists, etc. Please see http://www.wrf-model.org/index.php for more details about WRF.Weather, AcademicWRF Users Page

See this recipe for configuration and compilation

See this recipe for running the conus2.5km benchmark in Symmetric mode

Using drmserver with Media SDK for Linux Servers Applications

$
0
0

 

Introduction

In previous releases of Intel(R) Media Software Development Kit (Intel Media SDK) there were many cases where applications needed to run as root, especially with multiple sessions.  Now Linux developers have more control over Media SDK process privileges with drmserver.  

The Direct Rendering Manager (DRM) Authentication Server is a set of software components which provide DRM authentication capabilities.  This is a workaround for graphics stack limitations which do not have a fix until future kernel versions.  The drmserver performs the subset of operations which need to be executed as root. It registers multiple libdrm clients.

Adding drmserver to existing Media SDK for Linux Servers applications requires only a few steps.

Install drmserver and drmclient packages

Starting with Media SDK 2014 R2 for Linux Servers, a set of packages is available in the /opt/intel/mediasdk/tools/drmserver directory.  These are distributed as .deb packages for Ubuntu and .rpm packages for SLES.

  • drmserver: once installed, runs a service listening for registration requests.  Source is also available for customization.
  • drmclient: functions for applications to interact with drmserver.  This is distributed as runtime and dev packages.  Runtime is the core library and intended for redistribution, dev is include files, etc. for application development.

For more information, please see drmserver_release_notes.pdf.

Add drmclient to your application

With the following steps you can add drmserver support to the Media SDK tutorial code downloadable from the "tutorials" tab on the Intel Media Solutions Portal.  The process is similar for the Media SDK samples or any other Media SDK for Linux Servers application.

The basic idea is to add a registration request before initializing the Media SDK display handle.  For the Linux implementation of Media SDK all sessions require a display handle.  This is perhaps the biggest of the short list of differences between the Windows and Linux implementations.  In Windows a display handle is required only for sessions handling their own GPU memory surfaces.

For the tutorials, all changes are in common_vaaapi.cpp, 

At the top of this file, add

    #include "drmclient.h"
    #define DEFAULT_DRM_DEV "/dev/dri/card0"

Here we assume that there is only one GPU on the system.  DRM could communicate with a number of cards via /dev/dri/card{N}.  For systems with multiple discrete graphics cards the implementation would be more complex since the card associated with integrated graphics would need to be found as a separate step.  However, for many scenarios there is only card0 and only Intel integrated graphics.

In the CreateVAEnvDRM function, update

    m_fd = open("/dev/dri/card0", O_RDWR);

to

    m_fd = open(DEFAULT_DRM_DEV, O_RDWR);

Optionally, additional diagnostics can be added close to this line to show what is happening.  These are not required for general operation:

    printf("drmclient_app: info: dev    = %s\n", DEFAULT_DRM_DEV);
    printf("drmclient_app: info: socket = %s\n", drmc_get_auth_socket());

These lines simply display the DRM device and show that socket communication is working with the drmserver service.

The following lines actually do the authentication then verify that the handle is registered.  These should be added after the open but before vaGetDisplayDRM:

    if (DRMU_SUCCESS == drmc_authenticate_by_fd(m_fd)) {
      printf("drmclient_app: info: client authenticated\n");
      printf("drmclient_app: info:  verifying registration...\n");
      if (drmu_is_pid_authenticated(m_fd, getpid())) {
        printf("drmclient_app: info: handle authenticated\n");
      } else {
        fprintf(stderr, "drmclient_app: error: authentication error\n");
      }
    }

 

For completeness a check can also be added before closing the handle.  In the tutorials the close can be found in CleanupVAEnvDRM:

void CleanupVAEnvDRM()
{
    if (m_va_dpy) {
        vaTerminate(m_va_dpy);
    }
    if (m_fd >= 0) {
      if (!drmu_is_pid_authenticated(m_fd, getpid())) {
        printf("drmclient_app: error: PID lost DRM authentication while opened file descriptors still present\n");
      }
      close(m_fd);
    }
}

Add drmclient to your makefile

Some simple changes are needed to let the compiler know where to find include files and libraries.  For the tutorials, update these lines in the makefile for each example you want to build:

Original:

CFLAGS=-I/usr/local/include -I../common -I$(MFX_HOME)/include
LFLAGS=-L$(MFX_HOME)/lib/lin_x64 -lmfx -lva -lva-drm -lpthread -lrt -ldl

Updated:

CFLAGS=-I/usr/local/include -I/usr/include/drmserver -I/usr/include/libdrm/ -I../common -I$(MFX_HOME)/include
LFLAGS=-L$(MFX_HOME)/lib/lin_x64 -lmfx -lva -lva-drm -lpthread -lrt -ldl -ldrmclient

 

Testing operation

Because the source changes above are made to the common initialization code shared by all of the tutorial examples, this change enables drmserver for all of them.  However, the makefile will need to be updated for each example you wish to compile.

The simplest starting point is simple_1_session.  After compiling you will find a simple_session executable in the _build directory.  When run output should look like this:

$ ./simple_session
drmclient_app: info: dev    = /dev/dri/card0
drmclient_app: info: socket = /var/run/drmserver/auth_socket
drmclient: info: drm_magic = 11
drmclient: info: authentication granted
drmclient_app: info: client authenticated
drmclient_app: info:  verifying registration...
drmclient_app: info: handle authenticated
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0


Implementation: HARDWARE                 API Version: 1.10

 

Conclusion

The drmserver tool is an important new feature of Media SDK 2014 R2 for Linux Servers.  With it developers can quickly add additional privilege controls since running as root is not required.  Any feedback on whether this fills needs or if there are additional gaps is very welcome.  Please post feedback and any issue reports to the Intel Media SDK forum. 

Intel® Buzz Workshop

$
0
0

The Intel® Buzz Workshop series is back by popular demand! This series of community workshops is designed to help professional game developers tackle the gaming industry's biggest problems. Intel is serious about game development and graphics on Android and Windows.  We're listening; we want to hear your ideas. Key highlights include: Technical sessions, panels, Developer Showcases, networking, prizes giveaways, and great food!

Read more from Matt Ployhar: https://software.intel.com/en-us/blogs/2014/06/02/2014-intel-buzz-workshop-series

Upcoming Workshops:

  • San Francisco, July 16, 111 Minna Gallery
    • Join us for our first community oriented event of the year designed to help professional game developers tackle the industry’s biggest problems in gaming. With a focus on developing games for the mobile market, technical sessions, panels, networking, the opportunity to troubleshoot your creations with our gaming gurus in the Intel Help Lounge, prizes & giveaways, and more.
    • We’ll keep you refueled throughout the day with lunch, dinner, and a happy hour cocktail reception. Just sign up, and we’ll do the rest.
    • Register here: http://www.eventbrite.com/e/intel-buzz-workshop-san-francisco-be-mobile-tickets-11663310275
  • Seattle: August 7 – Stay tuned for more info!

Compiler, Architecture and Tools Conference

$
0
0

[Date], 2014
Intel Development Center, Haifa, Israel
Endorsed by the HiPEAC Network of Excellence
http://software.intel.com/compilerconf2014 

TopicsDatesKeynoteProgramRegistrationSubmissionVenueMapOrganizersAccomodationsContact Us

The interaction among advanced compilation techniques, modern processor and computing architectures, and associated tools continues to face new challenges and opportunities. Traditional demands to increase performance, reduce power consumption, and reduce time to market now apply to heterogeneous, virtualized and diverse user-experience environments. Extensive data and task parallelism are being exposed by new programming environments such as OpenCL and Renderscript, relying on innovative architectures, compilers, binary translation and runtime tools. This conference will focus on these exciting new directions and how they are influencing the architecture and compilation domain. This year, the conference will span two days with a format similar to that held last year but with more time for networking and presentations, including a poster session.

Topics

The main focus of this conference is the interaction of compiler technologies, processor and computing architectures and tools to address the latest programming environments and demands. The topics of interest for this conference include, but are not limited to:

  • Compilers, runtime and tools for modern server, client, mobile and embedded systems
  • Compiler/hardware support for hiding memory and I/O latencies
  • Compilation to hardware
  • Dynamic translation and optimization
  • Heterogeneous parallel architectures and computational models
  • GPU, accelerator and coprocessor architectures
  • Power/Performance/Monitoring tools for application behavior understanding
  • Parallel programming languages, algorithms and applications

Important Dates

Deadline for submission[Date], 2014
Notification of paper acceptance[Date], 2014
Deadline for poster submission[Date], 2014
Conference gathering and presentations[Date], 2014

Keynote Talks

[Placeholder].

Presentation and Poster Submissions

[Placeholder]

Venue

The conference will take place at Intel Development Center (bldg. IDC9) in Matam Industrial Park, Haifa, Israel. Lunch and light refreshments will be served. Participation in the conference is free of charge, but registration is required. The official language of the conference is English.

Map

Click image for larger map. Click here for directions.

Organizers

  • Ayal Zaks, Gadi Haber, Michal Nir, Michael Behar; Intel Development Center, Haifa
  • Erez Petrank; Computer Science Dept., Technion, Haifa
  • Dorit Nuzman; IBM Haifa Research Lab

Accomodations

[Placeholder]

Contact Us

Intel Development Center, Haifa, Israel (ayal.zaks@intel.com)

Past Conferences

http://software.intel.com/compilerconf2012
https://software.intel.com/compilerconf2013

What's New? Intel® Threading Building Blocks 4.2 update 5

$
0
0

Changes (w.r.t. Intel TBB 4.2 Update 4):
- The second template argument of class aligned_space<T,N> now is set to 1 by default.

Preview Features:
- Better support for exception safety, task priorities and floating point settings in class task_arena.
- task_arena::current_slot() has been renamed to task_arena::current_thread_index().

Bugs fixed:
- Task priority change possibly ignored by a worker thread entering a nested parallel construct.
- Memory leaks inside the task scheduler when running on Intel(R) Xeon Phi(tm) coprocessor.

Open-source contributions integrated:
- Improved detection of X Window support for Intel TBB examples and other feedback by Raf Schietekat.

You can download Intel TBB 4.2 update 5 from commercial and open source sites. 

Viewing all 3384 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>