IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).

Mojo function

parallel_memcpy

def parallel_memcpy[dtype: DType](*, dest: Optional[Pointer[Scalar[dtype], origin, _safe=True]], src: Optional[Pointer[Scalar[dtype], origin, _safe=True]], count: Int, count_per_task: Int, num_tasks: Int)

Copies count elements from a memory buffer src to dest in parallel by spawning num_tasks tasks each copying count_per_task elements.

Safety: dest or src can only be None when count == 0.

Deprecated: 'parallel_memcpy' is deprecated, use 'unsafe_parallel_memcpy' instead

Parameters:

  • ​dtype (DType): The element dtype.

Args:

  • ​dest (Optional[Pointer[Scalar[dtype], origin, _safe=True]]): The destination buffer.
  • ​src (Optional[Pointer[Scalar[dtype], origin, _safe=True]]): The source buffer.
  • ​count (Int): Number of elements in the buffer.
  • ​count_per_task (Int): Task size.
  • ​num_tasks (Int): Number of tasks to run in parallel.

def parallel_memcpy[dtype: DType](*, dest: Optional[Pointer[Scalar[dtype], origin, _safe=True]], src: Optional[Pointer[Scalar[dtype], origin, _safe=True]], count: Int)

Copies count elements from a memory buffer src to dest in parallel.

Safety: dest or src can only be None when count == 0.

Deprecated: 'parallel_memcpy' is deprecated, use 'unsafe_parallel_memcpy' instead

Parameters:

  • ​dtype (DType): The element dtype.

Args:

  • ​dest (Optional[Pointer[Scalar[dtype], origin, _safe=True]]): The destination pointer.
  • ​src (Optional[Pointer[Scalar[dtype], origin, _safe=True]]): The source pointer.
  • ​count (Int): The number of elements to copy.