NASA's Pleiades Studies Impact of Asteroid Hitting Earth
NASA is using its Pleiades supercomputer to simulate
the damage asteroids can cause if they crash into Earth. According to a
case study on nasa.gov, the goal is to better assess the threat of
collisions and help develop mitigation strategies, such as evacuating
populations,
altering an asteroid's trajectory so it misses Earth, or destroying the
object in space. An asteroid larger than 30 meters, or 98.4 feet, in
diameter is expected to hit our planet every 100 years; there are
roughly 10,000 of those near Earth, 1,600 of which are classified as
dangerous.
2015年12月22日 星期二
2015年11月17日 星期二
NSF Launches $5 Million Big Data Innovation Hub Project
NSF Launches $5 Million Big Data Innovation Hub Project
NSF Launches $5 Million Big Data Innovation Hub Project
The National Science Foundation (NSF) has awarded more than $5 million to launch four regional hubs to facilitate research and innovation through Big Data analysis. According to an NSF release, each Big Data Regional Innovation Hub will focus on seven priority areas, including new technologies; natural resources; agriculture; smart and connected communities; energy; and finance. The University of California at San Diego, UC Berkeley, the University of Washington, the Georgia Institute of Technology, the University of North Carolina, Columbia University and the University of Illinois at Urbana-Champaign will coordinate implementation of the hubs in their respective regions, the release notes.
NSF Launches $5 Million Big Data Innovation Hub Project
The National Science Foundation (NSF) has awarded more than $5 million to launch four regional hubs to facilitate research and innovation through Big Data analysis. According to an NSF release, each Big Data Regional Innovation Hub will focus on seven priority areas, including new technologies; natural resources; agriculture; smart and connected communities; energy; and finance. The University of California at San Diego, UC Berkeley, the University of Washington, the Georgia Institute of Technology, the University of North Carolina, Columbia University and the University of Illinois at Urbana-Champaign will coordinate implementation of the hubs in their respective regions, the release notes.
2015年11月10日 星期二
行動開發成功案例分享研討會
行動開發成功案例分享研討會
行動開發與物聯網應用是目前最熱門的議題。RAD Studio 10 Seattle 提供移動和穿戴式,PC 和雲端開發的高生產力 IDE,並藉由提供領先的 ”物聯網” 技術讓您整合最新的技術於一體發揮最大的連結力量。
為了讓更多的用戶分享相關的行動開發成功案例,我們特邀請 張子仁先生,廖啟甫先生 及 文中資訊阮翔先生 與我們一同分享他們的成功案例及開發經驗與技巧。特邀請您來與我們一起分享及見證。
案例分享內容:
2015年11月3日 星期二
臺灣CAE市場也日漸成熟
伴隨著全球製造業的不斷創新升級,臺灣CAE市場也日漸成熟,此次技術大會,不但匯集CAE領域最先進的趨勢與主題,更將凝聚ANSYS及各領域最前衛的CAE資訊與技術,與國內CAE專家共同探討,如何利用系統工程設計(SYSTEM DESIGN)實現更快地創新,開發新一代產品等最重要科技趨勢,開創系統級工程模擬創新之路。
2015年10月28日 星期三
虎門科技股份有限公司(CADMEN)
虎門科技股份有限公司(CADMEN)自1992年來,主辦全國最大的CAE用戶交流大會,為我國工業界不斷創造研發能量。國內正面臨有史以來最強烈國際
競爭壓力背景下為提升產業研發力應運而生的CAE大盛事。伴隨著全球製造業的不斷創新升級,臺灣CAE市場也日漸成熟,此次技術大會,不但匯集CAE領域
最先進的趨勢與主題,更將凝聚ANSYS及各領域最前衛的CAE資訊與技術,與國內CAE專家共同探討,如何利用系統工程設計(SYSTEM
DESIGN)實現更快地創新,開發新一代產品等最重要科技趨勢,開創系統級工程模擬創新之路。
2015年10月20日 星期二
Supercomputers Eyed for Clean Energy Technology
Supercomputers Eyed for Clean Energy Technology
The Department of Energy has launched a program that allows private industry to use high-performance computing systems at the Lawrence Livermore, Lawrence Berkeley and Oak Ridge national laboratories to develop new clean energy technology. The initiative, called High Performance Computing for Manufacturing Program (HPC4Mfg), is designed to foster public-private research and development projects to bolster US competitiveness in clean energy manufacturing, according to a recent press release by Lawrence Berkeley National Laboratory (LLBL). The DoE will provide an initial $5 million to fund 8 to 10 projects for up to a year. The new software tools, combined with the supercomputer, helped the researchers identify several dozen potential genetic modifications that could reduce drug toxicity, according to a university release.
The Department of Energy has launched a program that allows private industry to use high-performance computing systems at the Lawrence Livermore, Lawrence Berkeley and Oak Ridge national laboratories to develop new clean energy technology. The initiative, called High Performance Computing for Manufacturing Program (HPC4Mfg), is designed to foster public-private research and development projects to bolster US competitiveness in clean energy manufacturing, according to a recent press release by Lawrence Berkeley National Laboratory (LLBL). The DoE will provide an initial $5 million to fund 8 to 10 projects for up to a year. The new software tools, combined with the supercomputer, helped the researchers identify several dozen potential genetic modifications that could reduce drug toxicity, according to a university release.
2015年10月16日 星期五
Android 3.0+
/* Note: on Android 3.0+ with an action bar this method
* is called while the view is created. This can happen
* any time after onCreate.
*/
* is called while the view is created. This can happen
* any time after onCreate.
*/
2015年10月15日 星期四
2015年10月13日 星期二
Supercomputers, Software Can Speed Drug Discovery
Supercomputers, Software Can Speed Drug Discovery
Researchers at McGill University in Montreal have used a supercomputer to develop and test new software that can quickly analyze effectiveness of drug compounds. This, in turn, could lead to discovery of improved drug treatments for diabetes, Alzheimer's and other diseases. The new software tools, combined with the supercomputer, helped the researchers identify several dozen potential genetic modifications that could reduce drug toxicity, according to a university release.
Researchers at McGill University in Montreal have used a supercomputer to develop and test new software that can quickly analyze effectiveness of drug compounds. This, in turn, could lead to discovery of improved drug treatments for diabetes, Alzheimer's and other diseases. The new software tools, combined with the supercomputer, helped the researchers identify several dozen potential genetic modifications that could reduce drug toxicity, according to a university release.
2015年10月8日 星期四
NDK: Discover the Android Native Development Kit Intel® Graphics Performance Analyzers
You’ll discover the benefits of these tools in your everyday life as a programmer whether or not you’re targeting Intel devices. These tools will help save you time, allow you to create better experiences, and help you target your app to multiple platforms and architectures.
Series includes:
• | Intel Tools for Android* Developers |
• | NDK: Discover the Android Native Development Kit |
• | Intel® Graphics Performance Analyzers |
• | Build Multi-OS Native Apps with Intel® INDE |
• | Develop Apps in HTML5 Using Intel® XDK |
Training Series for Development on Intel-based Android* Devices
Training Series for Development on Intel-based Android* Devices
This video series presents an overview of the Intel tools available for Android* developers through
This video series presents an overview of the Intel tools available for Android* developers through
Slashdot and Sourceforge are conducting a survey t
Slashdot and Sourceforge are conducting a survey to see what products and services are top of mind today, and how the
process of acquiring technology is evolving.
We'd greatly appreciate if you could take a few minutes to share your experiences in evaluating and acquiring technology today. We will use the results to create a report that you can share with your team, and leverage what you tell us to serve your needs better in the future.
We'd greatly appreciate if you could take a few minutes to share your experiences in evaluating and acquiring technology today. We will use the results to create a report that you can share with your team, and leverage what you tell us to serve your needs better in the future.
2015年10月6日 星期二
Supercomputer Unlocks Mutant Cancer Secrets
Supercomputer Unlocks Mutant Cancer Secrets
Scientists have discovered how genetic cancer mutations attack the networks that control human cells, a finding that could lead to the development of more-precise, personalized cancer treatments. University of Copenhagen researchers, along with counterparts at Yale, Zurich, Rome and Tottori, have developed software that computationally translates the effects of cancer mutations on the function of proteins in individual patients. This can unravel how disease mutations target and damage the protein-signaling network inside human cells.
Scientists have discovered how genetic cancer mutations attack the networks that control human cells, a finding that could lead to the development of more-precise, personalized cancer treatments. University of Copenhagen researchers, along with counterparts at Yale, Zurich, Rome and Tottori, have developed software that computationally translates the effects of cancer mutations on the function of proteins in individual patients. This can unravel how disease mutations target and damage the protein-signaling network inside human cells.
2015年9月30日 星期三
Vectorization Advisor Can Make Your Code Faster
Vectorization Advisor Can Make Your Code Faster
Rick Leinecker shows you how Vectorization Advisor easily works with straightforward content, or helps identify issues such as dependencies, so that you can develop reports, analyses, and make adjustments that optimize your code. Find out more and let us know what you think in the comments section on our story page.
Rick Leinecker shows you how Vectorization Advisor easily works with straightforward content, or helps identify issues such as dependencies, so that you can develop reports, analyses, and make adjustments that optimize your code. Find out more and let us know what you think in the comments section on our story page.
IBM Bluemix,
IBM Bluemix, a robust platform as a service (PaaS) to host
and deploy your app, also provides a wide range of enterprise grade
tools that can be used in your applications to run your business needs.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
2015年9月18日 星期五
Application Development
Application Development
The Ultimate Application Development Platform for Windows 10, Mac, Mobile and IoT. Learn More
The Fastest Application Development Platform for Windows 10, Mac, Mobile and IoT. Learn More
The Standard C++ Application Development Platform for Windows 10, Mac, Mobile and IoT. Learn More
Embedded and Workgroup Databases
Data Architecture and Modeling
Powerful data, business process, and UML modeling tools enable collaboration for business-driven enterprise data architectures. Learn More
Collaborate on enterprise models and metadata for context, consistency, and compliance. Learn More
Model and analyze your enterprise data landscape for business value, with model version control and Agile change management. Learn More
Model and analyze your enterprise data landscape for business value. Learn More
Create conceptual and business process models for data context. Learn More
Database Development, Administration & Performance Optimization
Simplify database development, administration, and performance tuning across all major DBMS platforms. Learn More
Download Embarcadero Product Overview >>
2015年9月8日 星期二
Intel's Big Bet on Universal Analytics, Algorithm Economy
Intel's Big Bet on Universal Analytics, Algorithm Economy
Machine learning, Big Data and data gathered from billions of semi-autonomous things all point to a future heavily dependent on analysis. See how Intel plans to step up to the challenge. Then let us know what you think in the comments section on our story page.
Machine learning, Big Data and data gathered from billions of semi-autonomous things all point to a future heavily dependent on analysis. See how Intel plans to step up to the challenge. Then let us know what you think in the comments section on our story page.
2015年9月3日 星期四
Dev-C++
- Dev-C++ -- A full-featured Integrated Development Environment (IDE) for Win32.
- Orwell Dev-C++ -- A free, portable, fast and simple C/C++ IDE.
- ZinjaI -- Lightweight and easy to use cross-platform C++ IDE.
2015年8月26日 星期三
Ruby BI and Analytics Service on Bluemix
IBM Bluemix, a robust platform as a service (PaaS) to host
and deploy your app, also provides a wide range of enterprise grade
tools that can be used in your applications to run your business needs.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
2015年8月20日 星期四
A fully featured LaTeX editor. Our goal is to make writing LaTeX documents as easy
TeXstudio - A LaTeX Editor:
A fully featured LaTeX editor. Our goal is to make writing LaTeX
documents as easy and comfortable as possible. Some of the outstanding
features of TeXstudio are an integrated PDF viewer with (almost)
word-level synchronization, live inline preview, advanced
syntax-highlighting, live reference check, citations, latex commands,
spelling, and grammar. Download TeXstudio - A LaTeX Editor now.
New! Beginner's Guide to Open Source Intrusion Detection Tools
New! Beginner's Guide to Open Source Intrusion Detection Tools
If you aren't already running network IDS, you should be. Whether you need to monitor hosts or the networks connecting them to identify the latest threats, there are some great open source intrusion detection (IDS) tools available to you. This guide provides an overview of some of the most popular Open Source IDS tools, along with pros/cons of each.
If you aren't already running network IDS, you should be. Whether you need to monitor hosts or the networks connecting them to identify the latest threats, there are some great open source intrusion detection (IDS) tools available to you. This guide provides an overview of some of the most popular Open Source IDS tools, along with pros/cons of each.
2015年8月13日 星期四
IBM Bluemix
IBM Bluemix, a robust platform as a service (PaaS) to host
and deploy your app, also provides a wide range of enterprise grade
tools that can be used in your applications to run your business needs.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
The Analytics Warehouse Service available in IBM Bluemix provides a powerful, easy-to-use, and agile platform for business intelligence (BI) and analytics tasks. Check out this on-demand webcast to learn how you can create a ready-to-use BI and analytics service on Bluemix, in just a few clicks, and even access those results on an Android app.
2015年8月11日 星期二
New 3D XPoint Chip Smokes DRAM Speed, SSD Capacity
New 3D XPoint Chip Smokes DRAM Speed, SSD Capacity
The new memory chip called 3D XPoint (pronounced "crosspoint"), is said to run 1,000 times faster than the NAND chips in a flash drive and hold 10 times the data of typical RAM chips. Find out more and let us know what you think in the comments section on our story page.
Read More>>
The new memory chip called 3D XPoint (pronounced "crosspoint"), is said to run 1,000 times faster than the NAND chips in a flash drive and hold 10 times the data of typical RAM chips. Find out more and let us know what you think in the comments section on our story page.
Read More>>
Building an Android App Using MobileData Cloud
Building an Android App Using MobileData Cloud
2015年8月9日 星期日
Win32 Disk Imager-
- Win32 Disk Imager--A tool for writing images to USB sticks or SD/CF cards.
- FreeNAS--An Open Source Storage Platform that supports sharing across Windows, Apple, and UNIX-like systems.
- OpenMediaVault--A next generation network attached storage (NAS) solution.
2015年7月29日 星期三
取證分析利器整合工具 SIFT
取證分析利器整合工具 SIFT
隨著計算機科技發展一日千里,從組織單位到個人,均能享受到科技網路蓬勃發展帶來的好處。但另一方面,電腦科技犯罪亦日益猖獗,且手法也愈來愈高明,變得
難以察覺。究竟電腦法證人員會採用什麼工具取證?這期我們就來介紹其中一個分析平台 SIFT。
SAP HANA 簡化大數據分析
SAP HANA 簡化大數據分析
在激烈的商業競爭中,企業期望通過數據分析更為精準、更快速地預測商業行為的結果。特別是在雲端計算、物聯網和大數據時代,SAP HANA
的 出現,可以令企業更快對大數據進行分析,並獲得前所未有的實時業務決策工具。
2015年7月28日 星期二
DIY Multithreading in C++: Beware the Risks
DIY Multithreading in C++: Beware the Risks
What could go wrong when you write your own threading code? Plenty, if you don't know what to watch out for. David Bolton discusses the various perils and some workarounds when you roll your own C++ multithreaded code. Take a look and let us know what you think in the comments section on our story page.
What could go wrong when you write your own threading code? Plenty, if you don't know what to watch out for. David Bolton discusses the various perils and some workarounds when you roll your own C++ multithreaded code. Take a look and let us know what you think in the comments section on our story page.
2015年7月17日 星期五
New Modern Code Community Helps Developers Maximize Performance
|
2015年7月10日 星期五
Monitor 25 Network Devices or Servers for Free with OpManager
Monitor 25 Network Devices or Servers for Free with OpManager
OpManager is web-based network management software that monitors network devices and physical and virtual servers, alerts via email and SMS for fault. Monitor 25 devices for free with no restriction. Download now.
Learn More>>
OpManager is web-based network management software that monitors network devices and physical and virtual servers, alerts via email and SMS for fault. Monitor 25 devices for free with no restriction. Download now.
Learn More>>
2015年7月9日 星期四
立即參加 2015 Virtual Cloud Day
成為企業更好的業務戰略合作夥伴! 立即參加 2015 Virtual Cloud Day VMware 2015 Virtual Cloud Day 已有上千名客戶報名參加! 快把握報名機會,與眾多IT精英、管理人士一起共赴盛會! 在大會期間,您可以瞭解最新的軟體定義的技術和企業最佳實踐,讓您了 解如何成為企業更好的戰略性業務合作夥伴。 今年的大會圍繞 VMware 的 One Cloud, Any Application, Any Device™ 體系,旨在説明您如何為您的組織提供以下高價值 IT 成果:
|
2015年7月6日 星期一
今年的大會圍繞 VMware 的 One Cloud, Any Application, Any Device™ 體系,旨在説明您如何為您的組織提供以下高價值 IT 成果:
今年的大會圍繞 VMware 的 One Cloud, Any Application, Any Device™
體系,旨在説明您如何為您的組織提供以下高價值 IT 成果:
體系,旨在説明您如何為您的組織提供以下高價值 IT 成果:
- 資料中心虛擬化與混合雲擴充性
- 精簡和自動化的資料中心作業
- 基礎架構的原生安全性控制項
- 高可用性與靈活的基礎架構
- 企業行動力
成為企業更好的業務戰略合作夥伴! 立即參加 2015 Virtual Cloud Day
成為企業更好的業務戰略合作夥伴!
立即參加 2015 Virtual Cloud Day
VMware 2015 Virtual Cloud Day – 第五屆年度雲端運算網路盛會即將
啟動! 與眾多IT精英、管理人士一起共赴盛會!
在大會期間,您可以瞭解最新的軟體定義的技術和企業最佳實踐,讓您了
解如何成為企業更好的戰略性業務合作夥伴。
立即參加 2015 Virtual Cloud Day
VMware 2015 Virtual Cloud Day – 第五屆年度雲端運算網路盛會即將
啟動! 與眾多IT精英、管理人士一起共赴盛會!
在大會期間,您可以瞭解最新的軟體定義的技術和企業最佳實踐,讓您了
解如何成為企業更好的戰略性業務合作夥伴。
成為企業更好的業務戰略合作夥伴! 立即參加 2015 Virtual Cloud Day
成為企業更好的業務戰略合作夥伴!
立即參加 2015 Virtual Cloud Day
VMware 2015 Virtual Cloud Day – 第五屆年度雲端運算網路盛會即將
啟動! 與眾多IT精英、管理人士一起共赴盛會!
在大會期間,您可以瞭解最新的軟體定義的技術和企業最佳實踐,讓您了
解如何成為企業更好的戰略性業務合作夥伴。
立即參加 2015 Virtual Cloud Day
VMware 2015 Virtual Cloud Day – 第五屆年度雲端運算網路盛會即將
啟動! 與眾多IT精英、管理人士一起共赴盛會!
在大會期間,您可以瞭解最新的軟體定義的技術和企業最佳實踐,讓您了
解如何成為企業更好的戰略性業務合作夥伴。
2015年7月2日 星期四
More than half a billion (552 million) identities were exposed in 2013
More than half a billion (552 million) identities were exposed in 2013 as a result of data breaches. If your website is weak enough to let in a hacker, not only could you face the wrath of angry customers, but you could also be exposed to regulatory fines and damaging media coverage.
It's as simple as this: resolve to keep your site fit and healthy or get out of the game.
2015年6月30日 星期二
DevOps: Our Journey to the Cloud Cadence, Lessons Learned at Microsoft Developer Division
DevOps: Our Journey to the Cloud Cadence, Lessons Learned at Microsoft Developer Division
Microsoft Developer Division learned many lessons as the company became a SaaS provider supporting continuous cloud delivery. Download this short eBook to learn about the company’s DevOps engineering practices and tools.
|
Take Innovative Ideas Rapidly from Prototype to Production
Take Innovative Ideas Rapidly from Prototype to Production |
Now you can rapidly prototype and test ideas for IoT solutions — then scale deployment with security and manageability. |
With the expanded Intel® IoT Developer Program for Commercial Solutions and the Intel® IoT Dev Kit, professional developers can rapidly take innovative ideas from prototype to production. Read our blog to get an overview. |
How to Offload Your Code to Your GPU
How to Offload Your Code to Your GPU
Most desktop computers have video cards with multiple processor cores that support advanced graphics. But most of the time they are idle, just waiting for a graphically intense program to run. But there is an easy way to take advantage of the extra cores on graphics cards. Rick Leinecker shows you how. Take a look and let us know what you think in the comments section on our story page.
Most desktop computers have video cards with multiple processor cores that support advanced graphics. But most of the time they are idle, just waiting for a graphically intense program to run. But there is an easy way to take advantage of the extra cores on graphics cards. Rick Leinecker shows you how. Take a look and let us know what you think in the comments section on our story page.
2015年6月24日 星期三
微礦 WeMine x BQ Journal 聯合推出微信公眾號應用培訓課程
微礦 WeMine x BQ Journal 聯合推出
微信公眾號應用培訓課程 很多香港企業都 開始留意到微信對內地營銷的重要性,但微信與其他社交平台有著重大分別,如何利用微信公眾號才可以吸引粉絲及獲取有效 ROI?
微信公眾號應用培訓課程 很多香港企業都 開始留意到微信對內地營銷的重要性,但微信與其他社交平台有著重大分別,如何利用微信公眾號才可以吸引粉絲及獲取有效 ROI?
2015年6月11日 星期四
Take an early look at new tools for protecting info in Exchange, SharePoint, and beyond
Take an early look at new tools for protecting info in Exchange, SharePoint, and beyond
The latest episode of Office Mechanics features a demonstration of new security policies across email, SharePoint, IM, and Skype for Business, as well as info protection policies that go beyond the cloud and DLP that goes beyond email.
2015年6月6日 星期六
Windows 10 即將要推出了
Windows 10 即將要推出了
微軟正作好準備推出有史以來準備期最短的一個重要新 Windows 版本。微軟的目標是在推出兩年內達到 10 億個裝置使用 Windows 10 的目標!
微軟正作好準備推出有史以來準備期最短的一個重要新 Windows 版本。微軟的目標是在推出兩年內達到 10 億個裝置使用 Windows 10 的目標!
讓您的應用程式準備好在 Windows 10 執行
現在正是開始測試您的應用程式在 Windows 10 執行的最佳時機,所有該考慮到的 RAD Studio XE8 都幫您考慮到了。
現在正是開始測試您的應用程式在 Windows 10 執行的最佳時機,所有該考慮到的 RAD Studio XE8 都幫您考慮到了。
新的 Windows 10 VCL 型態
2015年6月2日 星期二
5 Tips for Speeding Up Your Code Using TBB
5 Tips for Speeding Up Your Code Using TBBShare your comment!
Share on facebookShare on twitterShare on google_plusone_shareShare on linkedinShare on redditShare on diggShare on emailShare on print
Intel Threading Building Blocks is a library to help your application use parallelization without you having learn all the subtleties of threading and to avoid the pitfalls. If you use TBB to speed up your software, below are a few tips to help you on your way.
You don’t always need a blocked_range
A blocked_range in TBB is a template class that’s used to divide (recursively) an array or range of data into smaller pieces so that TBB can then process each piece concurrently. However, you can use TBB to control how the division is done. You have to provide a simple class D that implements these methods:
- bool empty() const;
- bool is_divisible() const;
- D (D & d, split);
The empty() function returns true if the range is empty, while is_divisible() returns true if the range can be split into two non-empty sub-ranges. The constructor D has a parameter d of type D and a constant of type tbb::split. After splitting the range into two roughly half ranges, d refers to the first half and the constructed object instance to the second half.
The advantages of this are that you’re free to partition the range as you choose. For example, if you are processing image data, then a 2D array of pixels could be processed.
Use parallel_do
The traditional do_while loop has never been what you’d call a popular construct compared to while and for loops. In my opinion the do_while loop was a design mistake in C, C++ and other C related languages. If you compare do_while to Pascal’s Repeat_Until, both are similar and run the statement at least once then check loop termination at the end. however repeat-until(done) terminates in the more logical but opposite sense to do_while(!done) and I think repeat_until is clearer. Especially as in northern England the word while is sometimes used to mean until! “He were there while 11:00 pm”.
In TBB, you can a tbb::parallel_do when the loop terminating condition isn’t predetermined as it would be with a tbb::parallel_for. An additional advantage of parallel_do is that a second parameter of type parallel_do_feeder can be used to add additional work items.
Use Concurrent Containers
The C++ STL containers are broadly thread safe. Simultaneous reads of the same object are safe and simultaneous writes of different objects. Simultaneous writes to the same objects will however probably cause data races and lead to corruption of the STL container.
But Intel TBB to the rescue. It provides several concurrent container template classes, specifically concurrent_hash_map, concurrent_vector and concurrent_queues. Locking is done only on the part of the container is needed but this means that overall performance is a bit slower than STL containers so only use these if a speedup is likely.
Avoid false sharing with cache_aligned_allocator
False sharing is where two or more processes access the same shared memory cache line at the same time. Modern processors read data from memory not just a byte, word or quadword at a time but in a fixed size block called a cache line. When false sharing occurs, reading data into a cache line causes the other processor’s cache line data to become stale and it requires a refresh which diminishes performance.
Intel TBB provides two allocator templates classes similar to std::allocator. If your program does a lot of memory allocation then you would use the scalable_allocator, but to avoid false sharing you’d instead use the cache_aligned_allocator. Two objects allocated by this are guaranteed not to have false sharing.
Use Tasks Not Threads
In the .NET world, the Task Parallel Library has made multi-tasking a lot simpler than managing threads and with Intel TBB you have the equivalent for C++. Thread programming can be messy and very easy to get wrong. If you develop tasks instead then you let the task scheduler allocates tasks to threads, and tasks start up can be up to 100x faster than threads on Windows.
Conclusion
Hopefully, these tips will give you a flavor of TBB’s power and how you can get the most out of it.
訂閱:
文章 (Atom)