Compiled blocks

Houdini编译块详解

目录

一,编译块 Compiled Block

二,编译循环

三,调用编译块 Invoke

四,Tips and notes


一,编译块 Compiled Block

        在几何体网络内,可将网络的一部分放入编译块(compiled block)内(其内所有节点应是可编译的),可使块行为像一个节点一样;这对网络如何工作强加了许多限制,但也在适当的条件下带来巨大的好处:

  • 主要好处是多线程的for-each loops;在大量独立的piece上运行相同的节点块,编译块会让houdini发布在多个核上;
  • 另一好处是更高效的使用OpenCL;通常,即使一个节点处理几何体(在显卡上),在每节点后几何体也必须复制回主内存(由于其他节点可能会访问它);然而在编译块内,许多基于OpenCL的节点可在处理数据时将数据保留在显卡上,无需将其复制回,从而提高了速度;
  • 在普通网络内,理论上每个阶段会复制其正在处理的几何体;在实践中,有很多优化可使其高效,但这仍然有成本;在编译块内,节点可在同一几何体上原位工作,因为不允许外部引用;这可以为编译块提供额外的加速;

限制

  • 仅可使用可编译的节点;
  • 不可使用stamp()表达式;
  • 不可使用局部变量,每组件表达式,如需对每组件操作需使用基于VEX的节点,如attribute wrangle;
  • 不可使用通过名称引用的内部几何体,如npoints("/obj/sphere1") ,应使用spare inputs替代;可通过路径引用通道值,如ch("../sphere1/tx"),但不能读取几何体,如point表达式;
  • 不可读取直接的输入端口,如point(0, …) or npoints(0),使用spare inputs;
  • 禁用/隐藏的参数不可计算
Failed to compile with 1 errors 14:58:49 error in ./.umi/plugin-layout/layout/layout/index.tsx Module build failed (from ./node_modules/.store/@umijs+deps@3.5.43/node_modules/@umijs/deps/compiled/babel-loader/index.js): AssertionError [ERR_ASSERTION]: [MFSU] package.json not found for dep @umijs/route-utils which is imported from C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\.umi\plugin-layout\layout\layout\index.tsx at getDepVersion (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\getDepVersion.js:129:27) at DepInfo.addTmpDep (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\DepInfo.js:141:56) at Object.onTransformDeps (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\mfsu.js:327:23) at PluginPass.exit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+babel-plugin-import-to-await-require@3.5.43\node_modules\@umijs\babel-plugin-import-to-await-require\lib\index.js:217:140) at newFn (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:66732:21) at NodePath._call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61110:20) at NodePath.call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61097:17) at NodePath.visit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61166:8) at TraversalContext.visitQueue (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60632:16) at TraversalContext.visitSingle (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60606:19) ERROR in ./.umi/plugin-layout/layout/layout/index.tsx Module build failed (from ./node_modules/.store/@umijs+deps@3.5.43/node_modules/@umijs/deps/compiled/babel-loader/index.js): AssertionError [ERR_ASSERTION]: [MFSU] package.json not found for dep @umijs/route-utils which is imported from C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\.umi\plugin-layout\layout\layout\index.tsx at getDepVersion (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\getDepVersion.js:129:27) at DepInfo.addTmpDep (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\DepInfo.js:141:56) × Webpack ERROR Failed to compile with 1 errors 14:58:49 error in ./.umi/plugin-layout/layout/layout/index.tsx Module build failed (from ./node_modules/.store/@umijs+deps@3.5.43/node_modules/@umijs/deps/compiled/babel-loader/index.js): AssertionError [ERR_ASSERTION]: [MFSU] package.json not found for dep @umijs/route-utils which is imported from C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\.umi\plugin-layout\layout\layout\index.tsx at getDepVersion (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\getDepVersion.js:129:27) at DepInfo.addTmpDep (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\DepInfo.js:141:56) at Object.onTransformDeps (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\mfsu.js:327:23) at PluginPass.exit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+babel-plugin-import-to-await-require@3.5.43\node_modules\@umijs\babel-plugin-import-to-await-require\lib\index.js:217:140) at newFn (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:66732:21) at NodePath._call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61110:20) at NodePath.call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61097:17) at NodePath.visit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61166:8) at TraversalContext.visitQueue (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60632:16) at TraversalContext.visitSingle (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60606:19) ERROR in ./.umi/plugin-layout/layout/layout/index.tsx Module build failed (from ./node_modules/.store/@umijs+deps@3.5.43/node_modules/@umijs/deps/compiled/babel-loader/index.js): AssertionError [ERR_ASSERTION]: [MFSU] package.json not found for dep @umijs/route-utils which is imported from C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\.umi\plugin-layout\layout\layout\index.tsx at getDepVersion (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\getDepVersion.js:129:27) at DepInfo.addTmpDep (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\DepInfo.js:141:56) at Object.onTransformDeps (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+preset-built-in@3.5.43\node_modules\@umijs\preset-built-in\lib\plugins\features\mfsu\mfsu.js:327:23) at PluginPass.exit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+babel-plugin-import-to-await-require@3.5.43\node_modules\@umijs\babel-plugin-import-to-await-require\lib\index.js:217:140) at newFn (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:66732:21) at NodePath._call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61110:20) at NodePath.call (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61097:17) at NodePath.visit (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:61166:8) at TraversalContext.visitQueue (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60632:16) at TraversalContext.visitSingle (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\babel\bundle.js:60606:19) @ ./.umi/plugin-layout/Layout.tsx 17:0-56 60:42-57 @ ./.umi/core/routes.ts 11:15-13:93 @ ./.umi/umi.ts 13:0-42 28:33-42 51:37-68:3 51:2-68:4 52:14-38
09-04
Webpack █████████████████████████ building (10%) 0/1 entries 1/1 dependencies 0/1 modules 1 active babel-loader » babel-loader » .umi\umi.ts node:internal/crypto/hash:79 this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache()); ^ Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:79:19) at Object.createHash (node:crypto:139:10) at BulkUpdateDecorator.hashFactory (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:184161:18) at BulkUpdateDecorator.update (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:184062:50) at SourceMapSource.updateHash (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack-sources2\index.js:1:63053) at NormalModule._initBuildHash (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:115961:17) at handleParseResult (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:116027:10) at C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:116119:4 at processResult (C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:115836:11) at C:\Users\chaoguog\PycharmProjects\hr_dash\pro-blocks\node_modules\.store\@umijs+deps@3.5.43\node_modules\@umijs\deps\compiled\webpack\5\bundle5.js:115900:5 { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error', 'error:0308010C:digital envelope routines::unsupported' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }
09-04
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值