malloc 一个复杂的在 C++和CUDA

发布于 2024-10-14 21:29:35 字数 211 浏览 2 评论 0原文

在 C++ 中,如果我想要一个复杂的数组,我可能会这样做:

complex<float> *temp = new complex<float>[size];

我可以将其更改为 malloc 语句吗?

如果我想使用 cudaMalloc 在 GPU 上提供一个复杂浮点数组怎么办?

谢谢

In C++, if I want an array of complex I might do something like this:

complex<float> *temp = new complex<float>[size];

Can I change this into a malloc statement?

What about if I want to use cudaMalloc to give me an array on the GPU of complex floats?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晚风撩人 2024-10-21 21:29:35

我可以将其更改为 malloc 语句吗?

不是,但是你可以用Placement-New把它改成malloc语句。但不明白你为什么要这样做。

如果我想使用 cudaMalloc 在 GPU 上提供一个复杂浮点数组怎么办?

同样,您必须使用新的展示位置。

Can I change this into a malloc statement?

No, but you can change it into a malloc statement with Placement-New. Can't see why you'd want to do that though.

What about if I want to use cudaMalloc to give me an array on the GPU of complex floats?

Again, you'll have to use placement new.

ゃ人海孤独症 2024-10-21 21:29:35

对于 Cuda,有用于复数 floa 值的 cuComplex 类型和用于双复数值的 cuDoubleComplex 类型。
您可以将两者与 cudaMalloc 或 cublasAlloc 结合使用。

For Cuda there is the type cuComplex for complex floa values and cuDoubleComplex for double complex values.
You can use both in combination with cudaMalloc or cublasAlloc.

凡尘雨 2024-10-21 21:29:35

除非complex没有构造函数,否则不会。在 C++ 中分配数组时应该使用 new 。

Unless complex has no constructor, no. You should use new when allocating arrays in C++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文