KR102527829B1 - Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 - Google Patents
Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 Download PDFInfo
- Publication number
- KR102527829B1 KR102527829B1 KR1020210109459A KR20210109459A KR102527829B1 KR 102527829 B1 KR102527829 B1 KR 102527829B1 KR 1020210109459 A KR1020210109459 A KR 1020210109459A KR 20210109459 A KR20210109459 A KR 20210109459A KR 102527829 B1 KR102527829 B1 KR 102527829B1
- Authority
- KR
- South Korea
- Prior art keywords
- fft
- matrix transposition
- matrix
- transposition
- work
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 119
- 230000017105 transposition Effects 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims description 42
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000004148 unit process Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003412 degenerative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
본 발명의 일 실시예에 따른 행렬 전치기반 2D-FFT 연산 장치는, 데이터 행렬로부터 행렬 전치 혹은 FFT 연산 처리하기 위해 연산처리부로 일을 할당하는 일 분배부; CPU 또는 GPU 기반으로 이루어지고, 상기 일 분배부로부터 받은 일들을 컴퓨팅 자원들이 행렬 전치 혹은 FFT 연산 처리하는 상기 연산처리부; 상기 연산처리부로부터 행렬 전치 혹은 FFT 연산 처리가 끝낸 일들을 받고, 각 행들이 2D-FFT가 마무리될 때까지 다음 수행할 행렬 전치 혹은 FFT에 대한 일을 생성하는 결과수집부를 포함하며, 본 발명에 의하면, 행렬 전치기반 2D-FFT를 이용하여 수행 속도를 빠르게 하고, 행렬 전치와 1D-FFT 내의 적절한 일 분할을 통해 인-플레이스 2D-FFT 연산을 수행하며, 우선순위 동적 스케줄링을 사용하여 CPU와 GPU의 연산 능력을 최대한 활용함으로써, 처리 속도 및 효율을 향상시킬 수 있다
Description
본 발명은 2D-FFT 연산 장치에 관한 것으로, 더욱 상세하게는 CPU와 GPU를 동시에 사용하는 행렬 전치기반 2D-FFT 연산 장치 및 이를 이용한 데이터 연산 방법에 관한 것이다.
일반적으로 CPU (Central Processing Unit)는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하는 가장 핵심적인 컴퓨터의 제어 장치, 혹은 그 기능을 내장한 칩을 말한다. 컴퓨터 안의 중앙 처리 장치(CPU)는 외부에서 정보를 입력 받고, 기억하고 컴퓨터 프로그램의 명령어를 해석하여 연산한다.
또한 GPU (Graphics Processing Unit)는 메모리를 빠르게 처리하고 바꾸어 화면으로 출력할 프레임 버퍼 안의 영상 생성을 가속하도록 설계된 전문화된 전자 회로이다. GPU는 컴퓨터 그래픽과 영상 처리에 매우 효과적으로 처리한다. 고도의 병행 구조는 다용도 CPU보다 능률적이다.
한편, 알려진 데이터 정렬 알고리즘 중 인-플레이스(in-place) 기법은 별도의 데이터를 사용하지 않고 입력값을 변환하는 알고리즘이다. 보조 변수를 사용할 수 있도록 약간의 추가 저장 공간은 허용하며, 입력값은 인-플레이스 알고리즘이 실행되면, 그 결과인 출력값으로 덮어쓰기 된다. 또한 출력값을 위한 메모리를 추가적으로 필요하지 않으므로 메모리 사용을 줄일 수 있다.
이를 활용하여 행렬 전치기반 2D-FFT 연산을 목표로, 기존 방식과는 다르게 인-플레이스 기법을 사용하여 2D-FFT 연산을 수행할 수 있다.
그러나 기존 CPU와 GPU를 활용한 행렬 전치기반 2D-FFT 연산 장치의 경우, 아웃-오브-플레이스 기법을 사용하여 연산을 수행했으며, 이러한 아웃-오브-플레이스 기법의 경우 추가적인 메모리와 불필요한 연산이 필요하게 된다.
또한 인-플레이스 기법으로 처리할 경우 입력리스트 내부에서 정렬이 이뤄지므로, 제한적인 크기나 제한적 메모리 공간에서 더 많은 할당을 수행하여 공간 복잡도가 증가하거나, 연산 간의 병렬적으로 처리하기 힘든 문제가 발생할 수 있다.
따라서, 이를 해결하고자 2D-FFT 일 분할 방법과 CPU와 GPU를 최대로 활용할 수 있는 우선순위 동적 스케줄링 방법을 활용함으로써, 기존 방식보다 빠른 2D-FFT 연산을 수행할 수 있도록 할 필요성이 있다.
본 발명의 목적은 행렬 전치기반 2D-FFT 연산을 목표로, 기존 방식과는 다르게 인-플레이스 기법을 사용하여 2D-FFT 연산을 수행하되, CPU와 GPU를 최대로 활용할 수 있는 우선순위 동적 스케줄링 방법을 활용하여, 기존 방식보다 빠른 2D-FFT 연산을 수행할 수 있는 CPU와 GPU를 동시에 사용하는 행렬 전치 기반 2D-FFT 장치 및 이를 이용한 데이터 연산 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 행렬 전치기반 2D-FFT 연산 장치는, 데이터 행렬로부터 행렬 전치 혹은 FFT 연산 처리하기 위해 연산처리부로 일을 할당하는 일 분배부; CPU 또는 GPU 기반으로 이루어지고, 상기 일 분배부로부터 받은 일들을 컴퓨팅 자원들이 행렬 전치 혹은 FFT 연산 처리하는 상기 연산처리부; 상기 연산처리부로부터 행렬 전치 혹은 FFT 연산 처리가 끝낸 일들을 받고, 각 행들이 2D-FFT가 마무리될 때까지 다음 수행할 행렬 전치 혹은 FFT에 대한 일을 생성하는 결과수집부를 포함한다.
상기 일 분배부는 일을 분배할 때, 분산하여 효율적으로 데이터 처리하기 위해 GPU와 CPU 기반의 연산처리부가 분산 처리하도록 일을 분배하는 것을 특징으로 한다.
상기 연산처리부는 행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT 순으로 2D-FFT를 수행하는 것을 특징으로 한다.
상기 행렬 전치기반 2D-FFT 연산 장치는 빠른 2D-FFT의 처리를 위해서 > ≥ 순으로 우선순위를 두어 행렬 전치 혹은 FFT 연산 처리 장치가 활용 가능할 때마다 일을 할당하는 우선순위 동적 스케줄링을 사용해 일을 분배할 수 있는 것을 특징으로 한다.
(여기서, 는 모든 데이터 행에 대해서 i번째 행에서 아래쪽 부분 행렬 전치를 의미하고, 는 모든 데이터 행에 대해서 i번째 행에서 위쪽 부분 행렬 전치를 의미하며, 는 i번째 행에서의 1D-FFT를 수행하는 것을 의미한다.)
본 발명의 일 실시예에 따른 행렬 전치기반 2D-FFT 연산 장치를 이용한 데이터 연산 방법은, CPU와 GPU를 기반으로 분산하여 행렬 전치 및 2D-FFT를 수행하는 행렬 전치기반 2D-FFT 연산 장치를 이용한 데이터 연산 방법에 있어서, 행렬 전치 연산을 위해서 행렬 전치기반 2D-FFT 연산 장치의 일 분배부는 모든 데이터 행에 대해서 i번째 행에서 아래쪽 부분 행렬 전치를 의미하는 를 생성하는 단계; 행렬 전치를 수행하여 일이 끝나면 행렬 전치기반 2D-FFT 연산 장치의 결과수집부로 보내고, 상기 결과수집부는 첫 번째 행렬 전치가 끝난 부분에 i번째 행에서의 1D-FFT를 의미하는 에 해당하는 첫 번째 1D-FFT를 생성하여 상기 일 분배부로 넘겨주는 단계; 첫 번째 행렬 전치 과정이 마무리 되면 행렬 전치기반 2D-FFT 연산 장치에 구비되는 연산처리부는 두 번째 행렬 전치와 첫 번째 1D-FFT를 수행하는 단계; 상기 결과수집부는 두 번째 행렬 전치가 마무리된 행에 대해서 두 번째 1D-FFT를 생성하는 단계; 두 번째 행렬 전치와 첫 번째 1D-FFT를 수행하고 나서, 상기 연산처리부는 생성된 상기 두 번째 1D-FFT를 처리하는 단계를 포함한다.
본 발명의 행렬 전치기반 2D-FFT 연산 장치 은 데이터 정렬 연산시, 행렬 전치기반 2D-FFT를 이용하여 수행 속도를 빠르게 하는 장점이 있다.
또한, 행렬 전치와 1D-FFT 내의 적절한 일 분할을 통해 인-플레이스 2D-FFT 연산을 수행하며, 우선순위 동적 스케줄링을 사용하여 CPU와 GPU의 연산 능력을 최대한 활용함으로써, 처리 속도 및 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 행렬 전치기반 2D-FFT 연산 장치의 전체 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 행렬 전치 방법의 개념을 나타낸 도면이다.
도 3은 도 2의 행렬 전치 과정을 구체적으로 설명한 도면이다.
도 2는 본 발명의 일 실시예에 따른 행렬 전치 방법의 개념을 나타낸 도면이다.
도 3은 도 2의 행렬 전치 과정을 구체적으로 설명한 도면이다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
우선 기본적으로 FFT(Fast Fourier Transform)은 DFT(Discrete Fourier Transform)을 빠르게 연산할 수 있게 만든 알고리즘이다. f(x,y)를 N x N 크기인 복소수 행렬이라고 하고, x와 y를 각각 행과 열의 순서라고 하면, 2D-DFT는 수학식 1과 같이 나타낼 수 있다().
수학식 1은 O()의 시간 복잡도를 가지며 이를 줄이기 위해서 2D-DFT를 행과 열 방향 1D-FFT로 분할하여 처리하는 방법을 사용한다. 그러므로 수학식 1은 다음 수학식 2와 같이 표현할 수 있다.
FFTW(Fastest Fourier Transform in the West)는 CPU 기반 FFT 라이브러리이다. DFT의 성능을 극대화하기 위해서 SIMD(Single Instruction Multiple Data)를 활용할 수 있다.
본 발명에서는 행렬 전치 기반으로 2D-FFT 연산을 수행한다.
2D-FFT를 행 방향과 열 방향 1D-FFT로 처리할 수 있는데, 실제 컴퓨팅 연산에서 열 방향 1D-FFT를 처리할 때 성능이 저하되는 문제가 발생한다.
보통 데이터는 행 방향으로 데이터가 나열되어 있다(row major order). 그렇기 때문에 행 방향 1D-FFT를 할 때는 연속적인 데이터에서 연산을 처리할 수 있어, 캐시 효율성이 높아지고 빠르게 처리 가능하다.
그러나 열 방향 1D-FFT를 할 때는 비연속적인 데이터를 연산하기 때문에 성능이 저하되는 문제가 발생한다.
이를 해결하고자 행렬 전치를 사용하는 2D-FFT 방법을 사용한다. 행렬 전치는 행렬의 행과 열의 요소를 바꾸는 방법으로써, 열 방향 1D-FFT를 행 방향 1D-FFT로 바꾸어 줄 수 있다. 따라서 1D-FFT 연산의 효율성을 높일 수 있다.
기본 2D-FFT의 연산 과정은 '열 방향 1D-FFT -> 행 방향 1D-FFT' 라고 표현한다면, 행렬 전치기반 2D-FFT의 연산 과정은 '행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT' 라고 표현할 수 있다.
즉, 행렬 전치기반 2D-FFT 연산 장치는 행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT 순으로 진행된다.
인-플레이스 기법 상에서 수행되는 과정을 설명하기 위해서, 본 발명에서는 행렬 전치 예시를 도 2와 같이 나타낼 수 있다.
이러한 행렬 전치를 수행하기 위해 본 발명의 행렬 전치기반 2D-FFT 연산 장치는 도 1을 참조하면, 일분배부, 연산 처리부, 결과 수집부를 포함한다.
일 분배부는 데이터 행렬로부터 생성된 전치행렬인 생성된 , , 를 행렬 전치 혹은 FFT 연산 처리하기 위해 연산처리부로 할당하는 역할을 한다. 각 일들은 행 단위로써 연산을 수행한다.
연산처리부는 CPU 또는 GPU 기반으로 이루어진 장치이며, 일 분배부로부터 받은 일들을 컴퓨팅 자원들이 행렬 전치 혹은 FFT 연산 처리한다. 연산 과정에서 행렬 덧셈, 뺄셈 혹은 곱셈 연산이 포함될 수 있다.
또한 연산처리부는 데이터 연산 처리한 후의 일들은 결과수집부로 전송한다.
결과수집부는 상기 연산처리부로부터 행렬 전치 혹은 FFT 연산 처리 장치가 끝낸 일들을 받고, 각 행들이 2D-FFT가 마무리될 때까지 다음 수행할 행렬 전치 혹은 FFT에 대한 일을 생성 및 결과를 내는 역할을 수행한다.
각 행들은 행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT 순으로 2D-FFT를 수행해야 한다. 각 행들이 이러한 연산들을 독립적으로 수행하기에는 행렬 전치와 1D-FFT 간에 연산의 간섭이 발생한다.
도 3은 전반적인 일 분배 및 우선순위에 따라 연산하는 과정을 구체적으로 설명하기 위해 보여주고 있다.
단, 첫 번째 행부터 마지막 행까지 순서대로 일을 만든다. 일을 만든 후, 행렬 전치를 수행할 연산처리부(CPU)로 보내어 일을 처리한다.
첫 번째 행렬 전치 과정이 모두 마무리가 되면, 연산처리부(CPU 기반)는 두 번째 행렬 전치와 첫 번째 1D-FFT를 수행한다. 다만 두 번째 행렬 전치는 이 아닌 로 우선적으로 처리한다.
물론, 일 분배부에서 CPU가 , , 를 모두 처리할 수 있으나, 빠른 2D-FFT의 처리를 위해서 본 발명에서는 > ≥ 순으로 우선순위를 두어 CPU와 GPU와 같이 일을 수행하도록 하여 효율을 증가시킬수 있다.
행렬 전치 연산이 빠르게 끝나야만 를 처리할 수 있기 때문에, 행렬 전치에 높은 우선순위를 둔다. 는 두 번째 행렬 전치에 사용되기 때문에 첫 번째 행렬 전치인 에 더 높은 우선 순위를 둔다.
따라서 이러한 우선순위가 있고, 행렬 전치 혹은 FFT 연산 처리 장치가 활용 가능할 때마다 일을 할당하는 우선순위 동적 스케줄링을 사용해 일을 분배할 수 있다.
공평한 결과값을 측정하기 위해 행렬 데이터를 만들었다. 그 데이터를 읽어서 2D-FFT를 실행하였다.
본 발명의 연산 장치와 전통적인 2D-FFT를 장치를 각각 10번씩 실행시키고 실행 시간을 측정하였다.
Ogata는 CPU와 GPU를 동시에 사용한 알고리즘으로써, 본 발명에서 제안한 알고리즘과 달리 아웃-오브-플레이스 상에서 2D-FFT를 진행한다.
표와 같이 실험 결과, 기존 알고리즘 중 가장 높은 성능을 보여준 알고리즘과 비교했을 경우 본 발명(Ours)의 단정밀도, 배정밀도가 각각 최대 2.27, 1.93배 높은 성능을 보였다.
나아가 본 발명은 2D-FFT를 사용하는 컴퓨터 생성 홀로그램(Compute Generate Hologram, CGH)과 결합하여, 홀로그램 생성 시간을 단축시키는 장치로 확장 가능하다.
본 발명의 데이터 연산 방법은 컴퓨터에서 판독 가능한 저장매체에 저장된 컴퓨터 프로그램에 의해 수행될 수 있다.
여기서 컴퓨터는 예컨대 데스크톱 컴퓨터, 노트북 컴퓨터뿐만 아니라 모바일 환경의 태블릿, 패블릿 폰, 스마트 폰 등이 될 수 있으며, 컴퓨터 프로그램은 모바일 어플리케이션을 포함할 수 있다.
100 : 일 분배부
200 : 연산처리부
300 : 결과수집부
200 : 연산처리부
300 : 결과수집부
Claims (6)
- 데이터 행렬로부터 행렬 전치 혹은 FFT 연산 처리하기 위해 연산처리부로 일을 할당하는 일 분배부;
CPU 또는 GPU 기반으로 이루어지고, 상기 일 분배부로부터 받은 일들을 컴퓨팅 자원들이 행렬 전치 혹은 FFT 연산 처리하는 상기 연산처리부;
상기 연산처리부로부터 행렬 전치 혹은 FFT 연산 처리가 끝낸 일들을 받고, 각 행들이 2D-FFT가 마무리될 때까지 다음 수행할 행렬 전치 혹은 FFT에 대한 일을 생성하는 결과수집부를 포함하며,
상기 연산처리부는, 행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT 순으로 2D-FFT를 수행하고,
상기 행렬 전치기반 2D-FFT 연산 장치는, 빠른 2D-FFT의 처리를 위해서 > ≥ 순으로 우선순위를 두어 행렬 전치 혹은 FFT 연산 처리 장치가 활용 가능할 때마다 일을 할당하는 우선순위 동적 스케줄링을 사용해 일을 분배하는
(여기서, 는 모든 데이터 행에 대해서 i번째 행에서 아래쪽 부분 행렬 전치를 의미하고, 는 모든 데이터 행에 대해서 i번째 행에서 위쪽 부분 행렬 전치를 의미하며, 는 i번째 행에서의 1D-FFT를 수행하는 것을 의미한다.)
행렬 전치기반 2D-FFT 연산 장치. - 제1항에 있어서,
상기 일 분배부는
일을 분배할 때, 분산하여 효율적으로 데이터 처리하기 위해 GPU와 CPU 기반의 연산처리부가 분산 처리하도록 일을 분배하는 것을 특징으로 하는 행렬 전치기반 2D-FFT 연산 장치. - 삭제
- 삭제
- 행렬 전치 및 2D-FFT를 수행하는 행렬 전치기반 2D-FFT 연산 장치를 이용한 데이터 연산 방법에 있어서,
행렬 전치 연산을 위해서 행렬 전치기반 2D-FFT 연산 장치의 일 분배부는 모든 데이터 행에 대해서 i번째 행에서 아래쪽 부분 행렬 전치를 의미하는 를 생성하는 단계;
행렬 전치를 수행하여 일이 끝나면 행렬 전치기반 2D-FFT 연산 장치의 결과수집부로 보내고, 상기 결과수집부는 첫 번째 행렬 전치가 끝난 부분에 i번째 행에서의 1D-FFT를 의미하는 에 해당하는 첫 번째 1D-FFT를 생성하여 상기 일 분배부로 넘겨주는 단계;
첫 번째 행렬 전치 과정이 마무리 되면 행렬 전치기반 2D-FFT 연산 장치의 연산처리부는 두 번째 행렬 전치와 첫 번째 1D-FFT를 수행하는 단계;
상기 결과수집부는 두 번째 행렬 전치가 마무리된 행에 대해서 두 번째 1D-FFT를 생성하는 단계;
두 번째 행렬 전치와 첫 번째 1D-FFT를 수행하고 나서, 상기 연산처리부는 생성된 상기 두 번째 1D-FFT를 처리하는 단계를 포함하며,
상기 연산처리부는, 행렬 전치 -> 1D-FFT -> 행렬 전치 -> 1D-FFT 순으로 2D-FFT를 수행하고,
상기 행렬 전치기반 2D-FFT 연산 장치는, 빠른 2D-FFT의 처리를 위해서 > ≥ 순으로 우선순위를 두어 행렬 전치 혹은 FFT 연산 처리 장치가 활용 가능할 때마다 일을 할당하는 우선순위 동적 스케줄링을 사용해 일을 분배하는
(여기서, 는 모든 데이터 행에 대해서 i번째 행에서 아래쪽 부분 행렬 전치를 의미하고, 는 모든 데이터 행에 대해서 i번째 행에서 위쪽 부분 행렬 전치를 의미하며, 는 i번째 행에서의 1D-FFT를 수행하는 것을 의미한다.)
데이터 연산 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210109459A KR102527829B1 (ko) | 2021-08-19 | 2021-08-19 | Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210109459A KR102527829B1 (ko) | 2021-08-19 | 2021-08-19 | Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230027541A KR20230027541A (ko) | 2023-02-28 |
KR102527829B1 true KR102527829B1 (ko) | 2023-04-28 |
Family
ID=85326454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210109459A KR102527829B1 (ko) | 2021-08-19 | 2021-08-19 | Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102527829B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110107060A1 (en) * | 2009-11-04 | 2011-05-05 | International Business Machines Corporation | Transposing array data on simd multi-core processor architectures |
JP2012160092A (ja) * | 2011-02-01 | 2012-08-23 | Fujitsu Advanced Engineering Ltd | 演算装置、演算方法およびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040110338A (ko) | 2003-06-18 | 2004-12-31 | 삼성전자주식회사 | 코딕연산을 이용한 3780-point DFT 프로세서 |
-
2021
- 2021-08-19 KR KR1020210109459A patent/KR102527829B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110107060A1 (en) * | 2009-11-04 | 2011-05-05 | International Business Machines Corporation | Transposing array data on simd multi-core processor architectures |
JP2012160092A (ja) * | 2011-02-01 | 2012-08-23 | Fujitsu Advanced Engineering Ltd | 演算装置、演算方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20230027541A (ko) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7009609B2 (ja) | 加速数学エンジン | |
US10223762B2 (en) | Pipelined approach to fused kernels for optimization of machine learning workloads on graphical processing units | |
CN110678840B (zh) | 张量寄存器文件 | |
CN110678841B (zh) | 张量处理器指令集架构 | |
CN112840356B (zh) | 运算加速器、处理方法及相关设备 | |
US20210004684A1 (en) | System and method of executing neural networks | |
CN106228238B (zh) | 现场可编程门阵列平台上加速深度学习算法的方法和系统 | |
JP2019082996A (ja) | 畳み込みニューラルネットワークにおいて演算を実行する方法および装置並びに非一時的な記憶媒体 | |
CN101398753A (zh) | 用于执行扫描运算的系统、方法及计算机程序产品 | |
US11836520B2 (en) | Dynamic batching for inference system for transformer-based generation tasks | |
JP6955598B2 (ja) | 複数の畳み込みウィンドウ内の画像データの並行抽出方法、装置、機器及びコンピュータ可読記憶媒体 | |
CN114995782B (zh) | 数据处理方法、装置、设备和可读存储介质 | |
Falch et al. | Register caching for stencil computations on GPUs | |
US20220188382A1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium | |
KR102527829B1 (ko) | Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법 | |
JP6766598B2 (ja) | 画像処理装置、画像処理方法および制御プログラム | |
KR101499804B1 (ko) | 범용 gpu 기반 디지털 홀로그램 콘텐츠 고속 생성 장치 | |
Kabir et al. | On the design, development, and analysis of optimized matrix-vector multiplication routines for coprocessors | |
US20230177401A1 (en) | Selective Batching for Inference System for Transformer-Based Generation Tasks | |
US20220100814A1 (en) | Graphics processor and acceleration method thereof | |
Szustak et al. | Toward parallel modeling of solidification based on the generalized finite difference method using Intel Xeon Phi | |
CN111142841A (zh) | 支持卷积运算的处理器电路系统及其卷积运算控制方法 | |
Biswas et al. | An Efficient Reduced-Memory GPU-based Dynamic Programming Strategy for Bounded Knapsack Problems | |
CN118013934A (zh) | 文本生成方法、装置、电子设备、介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |