MP-SPDZ使用online-only方式

如图,用类似以下命令的方式运行结束后的benchmark都是默认包含预处理阶段的

./semi-party.x -N 3 0 tutorial

如果只想要 online阶段的测试结果,则需要在运行时的命令中加上-F参数

./semi-party.x -N 3 0 -F tutorial

那么得出的结果就会如下图是excluding预处理阶段的


但是这之前需要做一些准备,后面才能简单地加个-F就可以在两种方式之间切换

1.首先需要安装和更新一些东西的版本

        cmake要求3.18以上

        boost要求1.75以上

2.进入mp-spdz的根目录:~/mp-spdz-0.3.6#,运行

make semi-offline.x

PS:这一步有可能会遇到缺少一些依赖的报错,比如clang、gmp,逐一去安装一下就好

如果遇到git clone libOTe失败的情况,可以直接下载我复制出来的,放到mp-spdz-0.3.6/deps下就好

成功运行了上面这条命令之后,就可以看到mp-spdz的根目录中多了一个semi-offline.x

但是其他可能都没了,可以运行以下命令重新生成(可以跳过)

Scripts/tldr.sh

3.将MY_CFLAGS = -DINSECURE添加到mp-spdz-0.3.6/CONFIG.mine

4.运行

make Fake-Offline.x semi-party.x
./Scripts/setup-online.sh 3

其中semi-party.x可以换成你需要用到的


之后就可以加个-F就可以使用online-only的方式运行程序了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您需要将vuex-persistedstate与mp-store结合使用,可以按照以下步骤进行操作: 1. 安装依赖 需要安装vuex-persistedstate和mp-store这两个依赖: ``` npm install vuex-persistedstate mp-store --save ``` 2. 在store中使用vuex-persistedstate插件 在store中使用vuex-persistedstate插件来实现持久化存储。下面是一个示例: ``` import { PersistedState } from 'vuex-persistedstate' import mpStore from 'mp-store' const state = { count: 0 } const mutations = { increment (state) { state.count++ } } const actions = { increment ({commit}) { commit('increment') } } const plugins = [ PersistedState({ key: 'my-store', storage: { getItem: (key) => { return mpStore.getStorageSync(key) }, setItem: (key, value) => { return mpStore.setStorageSync(key, value) }, removeItem: (key) => { return mpStore.removeStorageSync(key) } } }) ] export default { state, mutations, actions, plugins } ``` 在上述代码中,使用了PersistedState插件来实现持久化存储。同时,为了适配mp-store,需要在storage配置中指定getItem、setItem和removeItem方法,这些方法分别对应mpStore.getStorageSync、mpStore.setStorageSync和mpStore.removeStorageSync。这样,就可以在小程序中使用vuex-persistedstate进行持久化存储了。 3. 在小程序中引入store 在小程序中引入store,并使用其中的状态和方法。下面是一个示例: ``` <template> <div> <p>Count: {{count}}</p> <button @click="increment">Increment</button> </div> </template> <script> import { mapState, mapActions } from 'vuex' import store from '@/store' export default { computed: { ...mapState(['count']) }, methods: { ...mapActions(['increment']) }, onLoad () { console.log(store.state.count) // 输出初始值0 store.dispatch('increment') console.log(store.state.count) // 输出1 } } </script> ``` 在上述代码中,通过import引入store,并使用mapState和mapActions辅助函数来将count属性和increment方法映射到组件中。在onLoad生命周期中,可以通过store.state.count访问到初始值0,并通过store.dispatch('increment')调用increment方法,最后输出count属性的值1。这样,就可以在小程序中使用vuex-persistedstate进行持久化存储了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值