For many years, increases in machine vision speed came almost automatically with increasing microprocessor speeds. However, this no longer is true with multicore PC architectures, which require major software design changes to take advantage of the parallel processing capabilities.
A successful multicore strategy for machine vision can be implemented at multiple levels. TOSALL provides Independent high-level tasks—especially those with hardware dependencies such as acquisition and I/O—can be written to run asynchronously on separate cores. This leaves the processor free to concentrate on tasks that are not blocked. Individual vision tools also can be parallelized so that they divide their processing task among several cores.
Software Optimization Services
- Software Re-architecture for Muticore and GPU
- Processes and Threads Optimizatyion
- ARM/Intel Assembly Optimization
- ARM Neon optimization
- C Level Optimization
- GPU(OpenCL) optimization
Optimized Software Is the Key
You cannot simply move an existing machine vision application from a single-core PC to a multicore PC and expect to see a significant performance improvement. In fact, some applications may not run any faster on a multicore machine due to operating system overhead and other inefficiencies.
Application developers and vision software vendors must rewrite their programs if they want to take advantage of multicore architectures to speed up their applications. This can be a complex task, and many algorithms do not easily lend themselves to parallel processing.