C# 배열의 하위 집합을 가져 와서 다른 원본 코드 배열로 전달할 수있는 효율적인 방법이 있습니까? 나는 GPU에 배열을 복사하는 기능을 가진 CUDA.net을 사용합니다. 예를 들어 함수를 배열의 10 번째로 전달하여 배열의 각 열 번째를 별도로 GPU에 복사합니다 (파이프 라이닝 목적으로).효율적으로 배열 부분 집합 가져 오기
이렇게 배열을 복사하는 것은 한 번에 복사하는 것보다 효율적이어야합니다. 그것은 안전하지 않은 코드로 할 수 있으며 적절한 메모리 위치를 참조하는 것 외에는 확실하지 않습니다. CopyTo 함수는 전체 배열을 다른 배열에 복사하므로 유용하지 않습니다.
그게 좋은 형태의 원래 클래스의 API하지만 효율적이지 그게 전부 내게 파업하는 Array.Copy는 훨씬 빠른 것이다. –
어떤면에서 효율적이지 않습니까? 배열의 일부만 반복하고 싶다면 배열을 복사하는 것보다 효율적입니다. –
죄송합니다. 올바른 방법으로 설명해야합니다. iterating을 위해 당신은 맞을지도 모르지만'yield '를 사용할 때 발생하는 많은 작업이 있습니다. 저자의 질문 저자는 배열의 부분 집합을 gpu로 복사하는 방법입니다. 위에서 설명한 방법을 사용할 때 비효율적 인'ToArray()'를 호출해야합니다. 이 방법은 나쁘지는 않지만이 목적을 위해 좋지 않습니다. –