使用 openmp 在 python 中并行化“for 循环”迭代

问题描述 投票:0回答:0

我想使用 OpenMP 线程或 python 中的类似技术并行化“for 循环”迭代。 代码如下所示。 “idexs”迭代 1024 次,它所做的只是选择一个索引 (i) 并在 self._storage[i] 处进行数组访问并将所有信息存储在data.

我可以使用 Python 中的 OpenMP 技术来加速此操作吗?

代码:

 def _encode_sample(self, idxes):
        obses_t, actions, rewards, obses_tp1, dones = [], [], [], [], []
        for i in idxes:
            data = self._storage[i]
            obs_t, action, reward, obs_tp1, done = data
            obses_t.append(np.array(obs_t, copy=False))
            actions.append(np.array(action, copy=False))
            rewards.append(reward)
            obses_tp1.append(np.array(obs_tp1, copy=False))
            dones.append(done)
        return np.array(obses_t), np.array(actions), np.array(rewards), np.array(obses_tp1), np.array(dones)
python parallel-processing mpi openmp mpi4py
© www.soinside.com 2019 - 2024. All rights reserved.