Compiled blocks

目录

一,编译块 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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值