As SoCs become more complex and specialized, incorporating numerous and varied processor cores and dedicated accelerators, it has become more and more difficult to program them. This is particularly true of chips targeting vision-based applications. To meet the performance demands and high data rates of vision applications, vendors are designing heterogeneous devices that incorporate different classes of processors—CPUs, DSPs, GPUs, FPGAs, and special-purpose engines. Programming each of these processors traditionally required differing skill sets—engineers working in languages such as C++, Python, and Java for CPUs, for example, may not have the knowledge of C and assembly for programming DSPs, or OpenCL for GPUs, or Verilog or VHDL for programmable logic.
To fully support the functionality of these complex devices, chip vendors are increasingly challenged to provide easy-to-use and efficient tools that enable developers to take advantage of all processing resources on a chip. To be competitive in the growing market for vision-enabled products, vendors must deliver robust and intuitive tools that enable developers to build efficient software easily.
In recent months, several silicon vendors have engaged BDTI for advice on tools for programming highly complex devices targeting vision applications. This is an area where an engagement with BDTI helps reduce risk and improve a product. BDTI has worked with many programming paradigms on dozens of architectures—CPUs, DSPs, GPUs, programmable logic, and special-purpose processors—and can help companies identify tools’ strengths and weaknesses for both traditional computer vision applications as well as deep learning-based ones. BDTI’s approach is to act as a proxy for a typical application developer. We define several use cases, then implement them in order to realistically exercise the tools.
Discovery of a tool suite’s shortcomings prior to launch can save a product from disaster. And while one might think that the tool developers themselves should be able to see and fix problems, it’s difficult to anticipate the ways in which application developers will use the tools. For almost 25 years the work of BDTI's engineering team has enabled vendors to ship tools that are user-friendly and robustly featured. In these recent projects evaluating tools for vision applications, BDTI’s customers were happy to get even the bad news—it’s better to learn about problems before launch, when you can fix them before they impact your customers.
To learn more about BDTI's tool evaluation capabilities, contact Jeremy Giddings at BDTI.