假设我想从某个概率分布中抽取样本。在下面的情况下,我抽取了一些在0到1之间均匀分布的随机变量,共进行了10000次。我不关心向量中随机样本的顺序,毕竟它们是随机的。
(setf my-vec (make-sequence 'vector 10000 :initial-element 0))
(loop :for i :from 0 :to 9999 :do
(setf (svref my-vec i) (random 1.0)))
我有一台多核心机器,我想要并行实现上述代码。(例如,假设我有4个内核,在一个内核中采样2500次,最后将所有的样本追加到一个单一的向量中。之前我曾在这里询问过有关Common Lisp并行编程的问题。这里。假设我是CL和编程的新手,我应该如何解决这个问题?我不需要高级的并行化特性,我只想将采样的计算负载均衡分配到机器内核中。如果您能指出一些可供并行化使用的步骤或一些在线教程的信息,那将非常好。非常感谢您提前的帮助。