Open3D (C++ API)
0.18.0+601516a
|
#include <cstdint>
#include <type_traits>
#include "open3d/core/Device.h"
#include "open3d/utility/Logging.h"
#include "open3d/utility/Overload.h"
#include "open3d/utility/Parallel.h"
#include "open3d/utility/Preprocessor.h"
Go to the source code of this file.
Namespaces | |
open3d | |
open3d::core | |
Macros | |
#define | OPEN3D_CALL_ISPC_KERNEL_(ISPCKernel, start, end, ...) |
#define | OPEN3D_OVERLOADED_LAMBDA_(T, ISPCKernel, ...) |
Internal helper macro. More... | |
#define | OPEN3D_VECTORIZED(ISPCKernel, ...) |
#define | OPEN3D_TEMPLATE_VECTORIZED(T, ISPCKernel, ...) |
Functions | |
template<typename func_t > | |
void | open3d::core::ParallelForCPU_ (const Device &device, int64_t n, const func_t &func) |
Run a function in parallel on CPU. More... | |
template<typename func_t > | |
void | open3d::core::ParallelFor (const Device &device, int64_t n, const func_t &func) |
template<typename vec_func_t , typename func_t > | |
void | open3d::core::ParallelFor (const Device &device, int64_t n, const func_t &func, const vec_func_t &vec_func) |
#define OPEN3D_CALL_ISPC_KERNEL_ | ( | ISPCKernel, | |
start, | |||
end, | |||
... | |||
) |
#define OPEN3D_OVERLOADED_LAMBDA_ | ( | T, | |
ISPCKernel, | |||
... | |||
) |
Internal helper macro.
#define OPEN3D_TEMPLATE_VECTORIZED | ( | T, | |
ISPCKernel, | |||
... | |||
) |
OPEN3D_TEMPLATE_VECTORIZED(T, ISPCKernel, ...)
Defines a lambda function to call the provided template-like kernel. Supported types:
Use the OPEN3D_EXPORT_TEMPLATE_VECTORIZED macro to define the kernel in the ISPC source file.
Note: The arguments to the kernel only have to exist if ISPC support is enabled via BUILD_ISPC_MODULE=ON.
#define OPEN3D_VECTORIZED | ( | ISPCKernel, | |
... | |||
) |
OPEN3D_VECTORIZED(ISPCKernel, ...)
Defines a lambda function to call the provided kernel.
Use the OPEN3D_EXPORT_TEMPLATE_VECTORIZED macro to define the kernel in the ISPC source file.
Note: The arguments to the kernel only have to exist if ISPC support is enabled via BUILD_ISPC_MODULE=ON.