C++ AMP: Changes in VS 11 Beta for C++ AMP
2013-09-22 16:31
585 查看
With the release of Visual Studio 11 Beta, you get among other things an updated version of C++ AMP. After the Beta, we aspire to have no breaking changes (or even major additions) in C++ AMP, so that when you receive the final RTM release your upgrade process will be super smooth (the goal is that you’ll just have to recompile). That is part of our team’s promise that we refer to as “go-live” license. The other part of the "go-live"being that we believe our Beta bits are of such great quality that you can indeed use them in a production environment in a supported manner right now! We only have some remainder performance work planned for after the Beta. The statement of the previous paragraph was not true, of course, for the Developer Preview and there are breaking changes with the Beta (you’ll need to change your code slightly for it to compile with the Beta); there are new additions, and there were many known bugs in the Developer Preview. In this post I will simply list the changes (in no particular order) to make it easier for you to port your Developer Preview code to the Beta releaserestrict(direct3d) is renamed to restrict(amp). We shared that here.
Replaced grid, tiled_grid with extent and tiled_extent instead. We shared that here.
Added amp_graphics.h with concurrency:graphics namespace with Short Vector Types and Textures. We shared that here.
Changed default queuing _mode not to be immediate, and changed enum names slightly. We shared that here.
Added .wait(…) overloads to tile_barrier for finer grained control. We shared that here.
Replaced <writeonly<…> as option for array_view with .discard_data(). We shared that here.
Moved math functions to amp_math.h in fast_math and precise_math namespaces. We shared that here.
Replaced accelerator_restriction with .supports_double_precision + another property. We shared that here.
Removed all overloads that accepted accelerator instead use .default_view. We shared that here.
Added .set_default() to accelerator and changed how we pick the default. We shared that here.
Replaced global get_all_accelerators function with accelerator::get_all(). We shared that here.
Removed .z, .y, .x and instead use the subscript operator [0], [1], [2]. We shared that here.
Added tiled_extent::pad(). We shared that here.
Added tiled_extent:truncate. We shared that here.
Added accelerator_view_removed exception to help with TDR case. We shared that here.
Added .synchronize_async() to array_view, and made the other _async() methods work. We shared that here.
Added create_marker() to accelerator_view. We shared that here.
Removed .project() on array_view and instead you can still use subscript operator. We shared that here.
Changed the signature for a couple of the atomic operations. We shared that here.
Changed the type of D3D buffer underling C++ AMP arrays (minor impact to interop). We shared that here.
Made triple-digit number of bug fixes including perf improvements. We shared the bits, try re-running your existing code and we love feedback in our MSDN Forum.
If you are moving code from the Developer Preview to the Beta and encounter any additional breaking changes or new features not listed above, then please let us know.http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/29/changes-in-vs-11-beta-for-c-amp.aspx
Replaced grid, tiled_grid with extent and tiled_extent instead. We shared that here.
Added amp_graphics.h with concurrency:graphics namespace with Short Vector Types and Textures. We shared that here.
Changed default queuing _mode not to be immediate, and changed enum names slightly. We shared that here.
Added .wait(…) overloads to tile_barrier for finer grained control. We shared that here.
Replaced <writeonly<…> as option for array_view with .discard_data(). We shared that here.
Moved math functions to amp_math.h in fast_math and precise_math namespaces. We shared that here.
Replaced accelerator_restriction with .supports_double_precision + another property. We shared that here.
Removed all overloads that accepted accelerator instead use .default_view. We shared that here.
Added .set_default() to accelerator and changed how we pick the default. We shared that here.
Replaced global get_all_accelerators function with accelerator::get_all(). We shared that here.
Removed .z, .y, .x and instead use the subscript operator [0], [1], [2]. We shared that here.
Added tiled_extent::pad(). We shared that here.
Added tiled_extent:truncate. We shared that here.
Added accelerator_view_removed exception to help with TDR case. We shared that here.
Added .synchronize_async() to array_view, and made the other _async() methods work. We shared that here.
Added create_marker() to accelerator_view. We shared that here.
Removed .project() on array_view and instead you can still use subscript operator. We shared that here.
Changed the signature for a couple of the atomic operations. We shared that here.
Changed the type of D3D buffer underling C++ AMP arrays (minor impact to interop). We shared that here.
Made triple-digit number of bug fixes including perf improvements. We shared the bits, try re-running your existing code and we love feedback in our MSDN Forum.
If you are moving code from the Developer Preview to the Beta and encounter any additional breaking changes or new features not listed above, then please let us know.http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/29/changes-in-vs-11-beta-for-c-amp.aspx
相关文章推荐
- C++ AMP: Math Library for C++ AMP
- C++ AMP: Staging Arrays in C++ AMP
- C++ AMP: Libraries for C++ AMP
- why it doesn't popup multi definitions error for method in .h class for C++?
- ateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试 for VS for(... in ...)
- C++ AMP: Performance Guidance for C++ AMP
- C++ AMP: Default accelerator in C++ AMP
- Using AfxBeginThread for multi-thread in VS C++
- C++ AMP: direct3d namespace and HLSL intrinsics in C++ AMP
- C++ AMP: printf, errorf, abort in C++ AMP
- C++ AMP: C++ AMP Articles in MSDN Magazine April issue
- 实用程序软件包(关于使用静态函数报错问题“Static function declared but not defined in C+++ "eh.h is only for C++!"报错问题)
- (转载)Declare vs Define in C and C++
- C++ 11 学习2:空指针(nullptr) 和 基于范围的for循环(Range-based for loops)
- MySQL报错“ you can't specify the target table for ‘update’ in from clause”
- CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.0'
- 代码简洁之道:C++ 11 之auto+ for_each + lamda表达式
- Inline Assembly(for GNU assembler)-the difference of AT&T & intel
- C++ 11 标准 新增的Lambda表达式、for_each语法,改变了auto关键字的意义
- John Paul Mueller, «Windows Administration at the Command Line for Windows 2003, Windows XP, and Windows 2000: In the Field Resu