![]() ![]() HiprtFuncNameSet funcNameSet funcNameSet. First of all, we have to set the geomType in the hiprtGeometryBuildInput prior to the hiprtGeometry construction to refer to it later in the custom function table: Let us show how this works on a simple example. The table is flattened to a one-dimensional array such that the first entry correspond to the first ray type and the first geometry type, the second entry to the first ray type and the second geometry type, and so on. The custom function table is a two-dimensional structure where each entry is identified by a ray type index (rows) and geometry type index (columns). Thus, this solution causes almost no overhead and make the setup even simpler. The custom function table is a bounded structure that is internally constructed, allowing compiler to see the whole picture, fully optimizing the code. To bypass this limitation, we pass functions names (instead of the function pointers) to HIPRT prior the compilation. It turned out that the function pointers are very inefficient in HIP, causing a major bottleneck. In previous versions, we used a function pointer to pass an intersection function for custom primitives. The biggest change that we made is in handling custom functions and how they are arranged in the custom function table. In this blog post, we will provide an overview of these changes and showcase the new functionality with a few simple examples. In order to overcome some inefficiencies, we have made some changes to the API. We are happy to announce the release of HIPRT-v2, which includes several new features and optimizations. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |