2011-04-12 6 views
1

오디오를 처리하는 여러 개의 DSP 카드는 매우 빠른 푸리에 변환 및 사운드 처리 및 기타 기능과 관련된 일부 기능을 계산할 수 있습니다. 양자 역학 (Quantum mechanics)과 같은 몇 가지 과학적 문제가 있습니다 (많지 않음). 나는 GP가 이런 경우에 계산을 가속화하는 데 사용될 수 있는지, 그리고 다른 경우에는 성공한 예제를 알고 있는지 궁금합니다.디지털 신호 프로세서를 사용하여 GPU와 동일한 방식으로 계산을 가속화하십시오.

감사합니다.

+1

GPU의 주요 대안은 큰 다차원 FFT에 필요할 수있는 메모리 대역폭을 처리 할 수 ​​있기 때문에 대형 FPGA를 사용하는 것입니다. – hotpaw2

+1

다른 방법으로도 작동합니다. 양자 역행은 양자 역학의 법칙을 따르는 컴퓨터에서 FFT를위한 계산 부스트를 수행하는 데 사용될 수 있습니다. 자세한 내용은 위키 백과 re : quantum fourier transform을 참조하십시오. –

답변

4

선형 연산은 DSP 칩에서 더 쉽고 빠릅니다. 이 아키텍처를 사용하면 단일 클럭 사이클에서 선형 연산 (두 개의 수를 가져 와서 각각에 상수를 곱하고 결과를 더할 수 있음)을 수행 할 수 있습니다. 이것은 FFT가 DSP 칩에서 매우 빨리 계산 될 수있는 이유 중 하나입니다. 이것은 또한 많은 다른 선형 작업을 사용하여 가속화 할 수있는 이유이기도합니다. 이러한 프로세서에 대한 성능 및 코드 최적화와 관련하여 세 가지 주요 사항이 있다고 생각합니다.

1) 관련성이 낮을 수 있지만, 그럼에도 불구하고 언급하고 싶습니다. DSP 프로세서의 아키텍처를 최대한 활용하려면 Assembly에서 코딩해야합니다. 나는 정규 C 코드가 컴파일러에 의해 당신이 원하는 것을하기 위해 완전히 최적화되지 않을 것이라고 확신한다. 당신은 문자 그대로 각 레지스터 등을 지정해야합니다. 그러나 그것은 효과가 있습니다. 마찬가지로, circular buffers 및 기타 DSP 관련 사항을 사용할 수 있습니다. 순환 버퍼는 FFT 및 FFT 기반 (순환) 컨벌루션 계산에 매우 유용합니다.

2) FFT는 heat flow과 같은 많은 문제에 대한 솔루션에서 찾을 수 있습니다 (푸리에 자체는 실제로 1800 년대에 해결책을 찾아 냈습니다), 기계 진동 (또는 그 문제에 대한 모든 진동기, 양자 물리학), 뇌파 분석 (EEG), 지진 활동, 행성 운동 및 기타 많은 것들이 있습니다. convolution과 관련된 모든 수학 문제는 푸리에 변환 (아날로그 또는 이산)을 통해 쉽게 해결할 수 있습니다. 오디오 처리를 포함하여 상기 열거 된 애플리케이션의 일부

3), 기타)은 FFT 이외는 끊임없이) wavelet transform (예 JPEG2000 코덱 등 Mel-Cepstrum (예, MPEG 코덱을 고안 발견 및 처리에 적용되는 변환 , discrete cosine transform (예 : JPEG 코덱) 및 기타 여러 가지가 있습니다. 그러나 양자 물리학에서 푸리에 변환은 각운동량의 방정식에 내재되어 있습니다. 분석 목적이나 계산의 용이함을 위해서가 아니라 자연스럽게 발생합니다. 이런 이유로 필자는 반드시 오디오 프로세싱과 양자 역학에서 푸리에 변환을 사용하는 이유를 같은 범주에 넣지는 않을 것입니다. 신호 처리의 경우 도구입니다. 양자 물리학의 경우, 그것은 현상의 본질에 있습니다.

0

주류 CPU에서 GPU 및 SIMD 명령어 세트를 사용하기 전에 이것이 일부 응용 프로그램의 성능을 얻는 유일한 방법이었습니다. 20 세기 후반 나는 PCI 카드를 PCI 슬롯에 추가 프로세서를 배치하는 회사에서 일했습니다. 이 중 일부는 TI C64x DSP을 사용하는 DSP 카드 였고 나머지는 Altivec를 제공하는 PowerPC 카드였습니다. 카드상의 프로세서는 일반적으로 호스트보다 더 예측 가능한 실시간 스케줄링을 제공하는 운영 체제가 없습니다. 고객은 대형 PCI 백팩이있는 산업용 PC를 구입하고 여러 카드를 부착합니다. 또한 견고한 환경을 위해 PMC, CompactPCI 및 VME와 같은 폼 팩터로 카드를 제작할 것입니다.

사람들은이 카드에서 실행되는 코드를 개발하고 PCI 버스를 통해 추가 기능 카드와 통신 한 응용 프로그램을 호스팅합니다. 이것들은 개발하기 쉬운 플랫폼이 아니었고 GPU 컴퓨팅을위한 현대 라이브러리는 훨씬 쉽습니다.

요즘은 많이 사용되지 않습니다. 가격 대비 성능 비율은 범용 CPU 및 GPU에서 훨씬 우수하며 과학 컴퓨팅을위한 DSP는 사라지고 있습니다.현재의 DSP 제조업체는 저전력 임베디드 애플리케이션이나 디지털 카메라와 같이 비용이 민감한 대량 생산 장치를 겨냥하고 있습니다. 과 Analog Devices benchmarks을 비교하십시오. DSP는 3.2GFlops에서 피크를 나타내며 Nvidia 8800은 29GFlops에 도달합니다.