RU2547618C2 - Method of setting up arithmetic accelerator for solving large systems of linear equations - Google Patents
Method of setting up arithmetic accelerator for solving large systems of linear equations Download PDFInfo
- Publication number
- RU2547618C2 RU2547618C2 RU2013123082/08A RU2013123082A RU2547618C2 RU 2547618 C2 RU2547618 C2 RU 2547618C2 RU 2013123082/08 A RU2013123082/08 A RU 2013123082/08A RU 2013123082 A RU2013123082 A RU 2013123082A RU 2547618 C2 RU2547618 C2 RU 2547618C2
- Authority
- RU
- Russia
- Prior art keywords
- indices
- shared memory
- fourier transform
- processor
- quaternary
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000005520 electrodynamics Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, в частности к способу организации арифметического ускорителя для решения больших систем линейных уравнений, и может быть использовано для создания новой технологии инженерных расчетов, в том числе объемных интегральных уравнений, электродинамики, гидроакустики, медицинских исследований.The invention relates to computing, in particular to a method for organizing an arithmetic accelerator for solving large systems of linear equations, and can be used to create a new technology of engineering calculations, including volumetric integral equations, electrodynamics, hydroacoustics, medical research.
Известен способ организации многопроцессорной ЭВМ, заключающийся в параллельном исполнении нити вычислений по средствам хранимого в виртуальной памяти распределенного представления дескриптора нити, выполнение первичной выборки архитектурных команд по средствам мониторов нитей, формирование графоинформационных зависимостей транзакций, которые выдают через сеть в исполнительные кластеры, переводит активную нить в резидентную очередь ждущих завершения транзакций и выбирают следующую активную нить, принимают транзакции, переписывают их команды, осуществляют выборку и передачу готовых команд кластеру, корректируют граф, передают результат завершения транзакции монитору и переводят нить с коррекцией корня представления дескриптора нити (см., например, патент РФ 2312388, G06F 15/16, 2005 г.).A known method of organizing a multiprocessor computer, which consists in parallel execution of computational threads by means of the distributed representation of the thread descriptor stored in virtual memory, performing initial sampling of architectural commands by means of thread monitors, forming graph-information dependencies of transactions that are transmitted through the network to executive clusters, translates the active thread into a resident queue waiting for transactions to complete and select the next active thread, accept transactions, rewrite their teams compose, select and transmit ready-made commands to the cluster, adjust the graph, transmit the result of the transaction to the monitor and translate the thread with the correction of the presentation root of the thread descriptor (see, for example, RF patent 2312388, G06F 15/16, 2005).
Известный способ труден в отношении разработки.The known method is difficult in relation to development.
Наиболее близким к заявляемому способу является способ организации арифметического ускорителя для решения больших систем линейных уравнений, включающий способ организации арифметического ускорителя для решения больших систем линейных уравнений, включающий общую память, доступную для первичных и одного или более вторичных процессоров, прием множества коэффициентов, связанных с набором линейных уравнений в общую память и разделением их на блоки коэффициентов с использованием одного или более первичных процессоров, выявление доступного вторичного процессора для обработки выбранного блока коэффициентов, передачу его из общей памяти в блок локальной памяти вторичного процессора с последующей обработкой для получения промежуточного результата и передачей его в общую память (см., например, патент РФ №7236998, G06F 7/00).Closest to the claimed method is a method of organizing an arithmetic accelerator for solving large systems of linear equations, including a method of organizing an arithmetic accelerator for solving large systems of linear equations, including shared memory available for primary and one or more secondary processors, receiving a variety of coefficients associated with a set linear equations into shared memory and dividing them into blocks of coefficients using one or more primary processors, identifying available of the secondary processor for processing the selected block of coefficients, transferring it from the shared memory to the local memory of the secondary processor, followed by processing to obtain an intermediate result and transferring it to the shared memory (see, for example, RF patent No. 7236998, G06F 7/00).
Основным недостатком известного способа является квадратичный рост числа арифметических операций от числа неизвестных.The main disadvantage of this method is the quadratic increase in the number of arithmetic operations from the number of unknowns.
Технической задачей, на решение которой направлен заявляемый способ с указанием технического результата, является создание такого способа, который позволил бы уменьшить рост числа арифметических операций и сделать его пропорциональным числу неизвестных.The technical problem to which the claimed method is directed, indicating the technical result, is to create such a method that would reduce the growth in the number of arithmetic operations and make it proportional to the number of unknowns.
Технический результат связан с использованием метода быстрого умножения циркулянтных матриц на вектор, основанный на быстром дискретном преобразовании Фурье.The technical result is associated with the use of the method of fast multiplication of circulant matrices by a vector based on the fast discrete Fourier transform.
Технический результат достигается путем построения вычислительной среды, позволяющей производить наименьшее количество операций и реализовать рост числа арифметических операций пропорционально числу неизвестных.The technical result is achieved by constructing a computing environment that allows you to perform the least number of operations and realize the growth in the number of arithmetic operations in proportion to the number of unknowns.
Решение технической задачи достигается тем, что способ организации арифметического ускорителя для решения больших систем линейных уравнений, включающий общую память, доступную для первичных и одного или более вторичных процессоров, прием множества коэффициентов, связанных с набором линейных уравнений в общую память и разделением их на блоки коэффициентов с использованием одного или более первичных процессоров, выявление доступного вторичного процессора для обработки выбранного блока коэффициентов, передачу его из общей памяти в блок локальной памяти вторичного процессора с последующей обработкой для получения промежуточного результата и передачей его в общую память, согласно изобретению производят доступ к блоку общей памяти одного или более третичных или четвертичных процессоров, выбранных из произвольного множества разнородных процессоров, выявляют свободный первичный процессор и разделяют промежуточный результат на группы, производят индексирование и записывают значения промежуточного результата в каждой группе в блок общей памяти, выявляют свободный третичный процессор и производят ранжирование индексов и по одному из трех последовательных индексов, выбранных из множества индексов, производят быстрое дискретное преобразование Фурье, записывают результаты преобразования в блок общей памяти, выявляют свободный четвертичный процессор, рассматривают значения элементов матрицы для первого индекса последовательно и производят быстрые дискретные преобразования Фурье по двум другим индексам, затем умножают почленно получившиеся значения по этим двум индексам на Фурье преобразования теплицевой матрицы для этих индексов, затем производят обратное быстрое дискретное преобразование Фурье по этим двум индексам, результаты преобразований записывают в локальную память четвертичного процессора, по окончании процесса производят обратное быстрое дискретное преобразование Фурье по первому индексу, записывают результат в общую память.The solution to the technical problem is achieved by the fact that a method of organizing an arithmetic accelerator for solving large systems of linear equations, including shared memory available for primary and one or more secondary processors, receiving a set of coefficients associated with a set of linear equations in a common memory and dividing them into blocks of coefficients using one or more primary processors, identifying an available secondary processor for processing the selected block of coefficients, transferring it from the shared memory to the block according to the invention, access to the shared memory block of one or more tertiary or quaternary processors selected from an arbitrary set of heterogeneous processors, identify a free primary processor and share the intermediate result into groups, indexing and recording the values of the intermediate result in each group in the block of shared memory, reveal free processor and indexes are ranked and one of three consecutive indices selected from a plurality of indices performs a fast discrete Fourier transform, writes the results of the conversion to a shared memory block, reveals a free Quaternary processor, considers the values of the matrix elements for the first index sequentially and produces fast discrete Fourier transforms by two other indices, then multiply the term-by-term values obtained by these two indices by the Fourier transform of t plitsevoy matrix for these indices, then produce an inverse fast discrete Fourier transform on the two indices, the result is loaded into local memory quaternary processor at the end of the process producing discrete inverse fast Fourier transform on the first index, the result is written to shared memory.
На чертеже изображена общая блок-схема по изобретению, показывающая процессоры 1, 2, 3, 4, модуль 5 индексирования, модули 6, 7 Фурье преобразования, модуль 8 обратного Фурье преобразования, блок 9 общей памяти, блоки 10, 11, 12, 13 локальной памяти.The drawing shows a General block diagram according to the invention, showing the processors 1, 2, 3, 4, the indexing module 5, the Fourier transform modules 6, 7, the inverse Fourier transform module 8, the shared memory unit 9, blocks 10, 11, 12, 13 local memory.
На схеме представлена последовательность действий, отраженная в формуле изобретения, а именно:The diagram shows the sequence of actions reflected in the claims, namely:
Матрица системы линейных уравнений, получающаяся после дискретизации интегральных уравнений, описывающих задачи инженерных расчетов, в том числе объемных интегральных уравнений, электродинамики, гидроакустики, медицинских исследований, например, рассеяние электромагнитных волн на диэлектрических трехмерных структурах имеет форму блочно-теплицевой матрицы. При этом основные вычислительные затраты при умножении матрицы системы линейных уравнений (СЛАУ) на вектор, а это самая затратная вычислительная операция при использовании итерационных алгоритмов, связаны с вычислением сумм вида:The matrix of a system of linear equations obtained after discretization of integral equations describing the tasks of engineering calculations, including volumetric integral equations, electrodynamics, hydroacoustics, medical research, for example, the scattering of electromagnetic waves by dielectric three-dimensional structures has the form of a block-greenhouse matrix. In this case, the main computational costs when multiplying the matrix of a system of linear equations (SLAE) by a vector, and this is the most expensive computational operation when using iterative algorithms, are associated with the calculation of sums of the form:
, ,
где Q - область рассеивающего тела, находящегося внутри параллелепипеда П.where Q is the region of the scattering body located inside the parallelepiped P.
Для вычисления W(p) в узловых точках х(р)∈Q требуется выполнить ~N2 арифметических операций.To calculate W (p) at the nodal points x (p) ∈ Q, ~ N 2 arithmetic operations are required.
Для уменьшения числа арифметических операций будем применять технику быстрого умножения циркулянтных матриц на вектор, основанную на быстром дискретном преобразовании Фурье.To reduce the number of arithmetic operations, we will use the technique of fast multiplication of circulant matrices by a vector based on the fast discrete Fourier transform.
Доопределим величины V(q) нулем в точках x(q) параллелепипеда П, не принадлежащих области Q. Тогда (1) можно записать в виде:We define the quantities V (q) by zero at the points x (q) of the parallelepiped не that do not belong to the domain Q. Then (1) can be written in the form:
где матричная функция дискретного аргумента В{р) определена для значений:where the matrix function of the discrete argument B (p) is defined for the values:
-(N1-1)≤p1≤(N1-1); -(N2-1)≤p2≤(N2-1); -(N3-1)≤p3≤(N3-1).- (N 1 -1) ≤p 1 ≤ (N 1 -1); - (N 2 -1) ≤p 2 ≤ (N 2 -1); - (N 3 -1) ≤p 3 ≤ (N 3 -1).
Для электромагнитных задач имеем:For electromagnetic problems we have:
Здесь функция дискретного аргумента δ(k, n, m) определяется формулойHere the function of the discrete argument δ (k, n, m) is determined by the formula
где δkn - символ Кронекера.where δ kn is the Kronecker symbol.
Обозначим через П2 параллелепипед со сторонами 2N1h1, 2N2h2 и 2N3h3. Продолжим матричную функцию дискретного аргумента В(р1, р2, р3) на все целочисленные значения р1, р2, p3, полагая ее периодической по каждой переменной с периодами соответственно 2N1, 2N2, 2N3. При этом доопределим В(р1, р2, р3) нулем в точках (N1, p2, p3), (p1, N2, p3), (p1, p2, N3), где p1, p2, p3 - любые целые числа. Далее доопределим вектор функции дискретного аргумента V(p1, p2, p3) нулем во всех узловых точках П2, не принадлежащих П, и продолжим ее на все целочисленные значения р1, р2, р3, полагая ее периодической по каждой переменной с периодами соответственно 2N1, 2N2, 2N3, тогда:Denote by П 2 the box with the sides 2N 1 h 1 , 2N 2 h 2 and 2N 3 h 3 . We continue the matrix function of the discrete argument B (p 1 , p 2 , p 3 ) to all integer values p 1 , p 2 , p 3 , assuming it to be periodic in each variable with periods of 2N 1 , 2N 2 , 2N 3 , respectively. Moreover, we define B (p 1 , p 2 , p 3 ) zero at the points (N 1 , p 2 , p 3 ), (p 1 , N 2 , p 3 ), (p 1 , p 2 , N 3 ), wherein p 1, p 2, p 3 - arbitrary integers. Next, we define the vector of the function of the discrete argument V (p 1 , p 2 , p 3 ) as zero at all nodal points P 2 not belonging to P, and continue it to all integer values p 1 , p 2 , p 3 , assuming it to be periodic for each variable with periods respectively 2N 1 , 2N 2 , 2N 3 , then:
Учитывая изложенное при х(р)∈П функция W(p1, p2, p3) из (5) совпадает со значениями W(p1, p2, p3) из (2). Ниже через П и П2 будем обозначать целочисленные параллелепипеды с числом дискретных аргументов по каждой оси N1, N2, N3 и 2N1, 2N2, 2N3 соответственно. Теперь проводя дискретное преобразование Фурье по каждой переменной от обеих частей (5), получим следующее равенство:Considering the above, for x (p) ∈ П the function W (p 1 , p 2 , p 3 ) from (5) coincides with the values W (p 1 , p 2 , p 3 ) from (2). Below, by цел and 2 2 we denote integer parallelepipeds with the number of discrete arguments on each axis N 1 , N 2 , N 3 and 2N 1 , 2N 2 , 2N 3, respectively. Now, conducting a discrete Fourier transform for each variable of both sides of (5), we obtain the following equality:
Из (3) и периодичности функций следует, что элементы массива
Таким образом, учитывая, что
При вычислении W(p), p∈П, основные вычислительные затраты, без учета нахождения
Шаг 1. Проведем ранжирование и расположим N1, N2, N3 в порядке убывания, т.е. N1≥N2≥N3.Step 1. Let us rank and arrange N 1 , N 2 , N 3 in descending order, i.e. N 1 ≥N 2 ≥N 3 .
Шаг 2. Произведем быстрое дискретное преобразование Фурье по целочисленной переменной р1. Получаем массив чисел Vn(k1, p2, p3), 0≤k1≤2N1-1, 0≤p2≤N2-1, 0≤p3≤N3-1; n=1, 2, 3. Общее количество комплексных чисел в этом массиве равно 6 N1N2N3.Step 2. We perform a fast discrete Fourier transform with respect to the integer variable p 1 . We get an array of numbers V n (k 1 , p 2 , p 3 ), 0≤k 1 ≤2N 1 -1, 0≤p 2 ≤N 2 -1, 0≤p 3 ≤N 3 -1; n = 1, 2, 3. The total number of complex numbers in this array is 6 N 1 N 2 N 3 .
Шаг 3. Для каждого фиксированного k1, 0≤k1≤2N1-1 последовательно производим быстрое дискретное преобразование Фурье по переменным р2, р3. Затем при том же k1, используя формулу (6), получаем значения
Шаг 4. Произведем быстрое обратное дискретное преобразование Фурье по переменной k1. Получаем требуемые значения Wn(p1, p2, p3), 0≤p1≤N1-1, 0≤p2≤N2-1, 0≤p3≤N3-1.Step 4. We perform a fast inverse discrete Fourier transform with respect to the variable k 1 . We obtain the required values of W n (p 1 , p 2 , p 3 ), 0≤p 1 ≤N 1 -1, 0≤p 2 ≤N 2 -1, 0≤p 3 ≤N 3 -1.
Для реализации изложенной схемы необходим объем памяти для хранения массива, равного
Число арифметических операций, требуемое для вычисления Wn(p), p∈П, оценивается формулойThe number of arithmetic operations required to calculate W n (p), p∈P, is estimated by the formula
где LOG(N)=N определяется как сумма всех делителей целого числа N с учетом их кратности.where LOG (N) = N is defined as the sum of all divisors of the integer N, taking into account their multiplicity.
Действительно, при проведении преобразования Фурье вычисления можно проводить в любой последовательности переменных. Поэтому очевидно, что наименьшее количество операций потребуется для приведенной выше последовательности.Indeed, when carrying out the Fourier transform, calculations can be performed in any sequence of variables. Therefore, it is obvious that the least number of operations will be required for the above sequence.
Если числа N1, N2, N3 являются степенями числа 2, то можно воспользоваться известным быстрым преобразованием Фурье. Тогда число арифметических операций для вычисления функций дискретного аргумента W(p), p∈П, оценивается формулойIf the numbers N 1 , N 2 , N 3 are powers of 2, then we can use the well-known fast Fourier transform. Then the number of arithmetic operations for calculating the functions of the discrete argument W (p), p∈P, is estimated by the formula
Если для умножения матрицы СЛАУ на вектор использовать (6) без применения рассмотренной схемы, то количество арифметических операций и требуемый объем памяти будут в несколько раз больше.If, to multiply the SLAE matrix by a vector, use (6) without applying the considered scheme, the number of arithmetic operations and the required memory size will be several times larger.
Обычно при использовании быстрого дискретного преобразования Фурье выбираются значения N, кратные степени 2. Однако при дискретизации интегральных уравнений, это, во многих случаях, может привести к значительным дополнительным вычислительным затратам, поскольку скважность чисел степени 2 весьма велика. Поясним на примере. Пусть N1=N2=N3=N0, т.е. П-куб. Предположим, что для аппроксимации решения с требуемой точностью, достаточно взять значение N0=150. Ближайшие степени двойки - числа 128 и 256. Значение 128 не удовлетворяет требованию аппроксимации решения, поэтому, если мы хотим воспользоваться стандартным БПФ, то необходимо брать значение N0=256. Пусть Т(N0) - число арифметических операций, которое требуется для умножения матрицы СЛАУ на вектор, в зависимости от значений N0. Тогда имеем,Usually, when using the fast discrete Fourier transform, N values that are multiples of degrees 2 are selected. However, when discretizing integral equations, this, in many cases, can lead to significant additional computational costs, since the duty cycle of numbers of degree 2 is very large. Let us illustrate with an example. Let N 1 = N 2 = N 3 = N 0 , i.e. P-cube Suppose that to approximate the solution with the required accuracy, it is enough to take the value N 0 = 150. The nearest powers of two are the numbers 128 and 256. The value 128 does not satisfy the requirement of approximating the solution, therefore, if we want to use the standard FFT, then we need to take the value N 0 = 256. Let T (N 0 ) be the number of arithmetic operations that is required to multiply the SLAE matrix by a vector, depending on the values of N 0 . Then we have
Объем памяти для хранения матрицы СЛАУ при N0=256 в несколько раз больше, чем при N0=150. Значит, использование БПФ для значения N0=150 значительно более эффективно, чем использование БПФ со степенью 2.The memory capacity for storing the SLAE matrix at N 0 = 256 is several times larger than at N 0 = 150. Therefore, the use of an FFT for a value of N 0 = 150 is significantly more effective than the use of an FFT with a degree of 2.
Отметим, что использование БПФ дает для числа арифметических операций практически линейную зависимость от размерности СЛАУ по сравнению с квадратичной зависимостью, которая появляется при умножении матрицы на вектор без применения специальных быстрых алгоритмов. Это чрезвычайно важно при численном решении объемных интегральных уравнений, которые после дискретизации сводятся к СЛАУ огромной размерности (больше 106). При этом нужно отметить, что объем памяти также имеет практически линейную зависимость от размерности матрицы. Это обстоятельство очень важно, поскольку без использования эффективных методов дискретизации объем требуемой памяти имеет квадратичную зависимость от размерности.Note that the use of FFT gives for the number of arithmetic operations an almost linear dependence on the dimension of the SLAE compared with the quadratic dependence that appears when the matrix is multiplied by a vector without using special fast algorithms. This is extremely important for the numerical solution of volumetric integral equations, which after discretization are reduced to SLAEs of enormous dimension (more than 10 6 ). It should be noted that the amount of memory also has an almost linear dependence on the dimension of the matrix. This circumstance is very important, since without the use of effective discretization methods, the amount of required memory has a quadratic dependence on the dimension.
На этой основе предлагается реализовать способ организации арифметического ускорителя для решения больших систем линейных уравнений.On this basis, it is proposed to implement a method of organizing an arithmetic accelerator to solve large systems of linear equations.
Проведем ранжирование и расположим N1, N2, N3 в порядке убывания, т.е. N1≥N2≥N3.We will rank and arrange N 1 , N 2 , N 3 in descending order, i.e. N 1 ≥N 2 ≥N 3 .
Произведем быстрое дискретное преобразование Фурье по целочисленной переменной р1. Получаем массив чисел Vn(k1, p2, p3), 0≤k1≤2N1-1, 0≤p2≤N2-1, 0≤p3≤N3-1; n=1, 2, 3. Общее количество комплексных чисел в этом массиве равно 6 N1N2N3.We perform a fast discrete Fourier transform with respect to the integer variable p 1 . We get an array of numbers V n (k 1 , p 2 , p 3 ), 0≤k 1 ≤2N 1 -1, 0≤p 2 ≤N 2 -1, 0≤p 3 ≤N 3 -1; n = 1, 2, 3. The total number of complex numbers in this array is 6 N 1 N 2 N 3 .
Для каждого фиксированного k1, 0≤k1≤2N1-1, последовательно производим быстрое дискретное преобразование Фурье по переменным р2, р3. Затем при том же k1, используя формулу (6), получаем значения
Произведем быстрое обратное дискретное преобразование Фурье по переменной k1. Получаем требуемые значения Wn(p1, p2, p3), 0≤p1≤N1-1, 0≤p2≤N2-1, 0≤p3≤N3-1.We perform inverse fast discrete Fourier transform variable k by one. We obtain the required values of W n (p 1 , p 2 , p 3 ), 0≤p 1 ≤N 1 -1, 0≤p 2 ≤N 2 -1, 0≤p 3 ≤N 3 -1.
Предложенный способ реализуется следующим образом.The proposed method is implemented as follows.
Производят доступ к блоку общей памяти одного или более третичных или четвертичных процессоров, выбранных из произвольного множества разнородных процессоров, затем выявляют свободный первичный процессор и разделяют промежуточный результат на группы, производят индексирование и записывают значения промежуточного результата в каждой группе в блок общей памяти. Далее выявляют свободный третичный процессор и производят ранжирование индексов и по одному из трех последовательных индексов, выбранных из множества индексов, производят быстрое дискретное преобразование Фурье, записывают результаты преобразования в блок общей памяти, затем выявляют свободный четвертичный процессор, рассматривают значения элементов матрицы для первого индекса последовательно и производят быстрые дискретные преобразования Фурье по двум другим индексам, затем умножают почленно получившиеся значения по этим двум индексам на Фурье преобразования теплицевой матрицы для этих индексов, затем производят обратное быстрое дискретное преобразование Фурье по этим двум индексам, результаты преобразований записывают в локальную память четвертичного процессора, по окончании процесса производят обратное быстрое дискретное преобразование Фурье по первому индексу, записывают результат в общую память.The shared memory block of one or more tertiary or quaternary processors selected from an arbitrary set of heterogeneous processors is accessed, then a free primary processor is identified and the intermediate result is divided into groups, indexing is performed and the values of the intermediate result in each group are recorded in the shared memory block. Next, a free tertiary processor is identified and the indices are ranked, and one of three consecutive indices selected from a plurality of indices is performed, a fast discrete Fourier transform is performed, the results of the transformation are written to the shared memory block, then a free quaternary processor is identified, matrix element values for the first index are examined sequentially and produce fast discrete Fourier transforms for two other indices, then multiply the term-by-value values obtained for these two and Dex on Fourier transform Toeplitz matrix for these indexes, then produce an inverse fast discrete Fourier transform on the two indices, the result is loaded into local memory quaternary processor, upon completion of the process produces an inverse fast discrete Fourier transform on the first index, record the result in shared memory.
Технический результат заключается в уменьшении роста числа арифметических операций и реализации роста арифметических операций пропорционально числу неизвестных и связан с использованием метода быстрого умножения циркулянтных матриц на вектор, основанный на быстром дискретном преобразовании Фурье.The technical result consists in reducing the growth in the number of arithmetic operations and realizing the growth of arithmetic operations in proportion to the number of unknowns and is associated with the use of the method of fast multiplication of circulant matrices by a vector based on the fast discrete Fourier transform.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013123082/08A RU2547618C2 (en) | 2013-05-21 | 2013-05-21 | Method of setting up arithmetic accelerator for solving large systems of linear equations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013123082/08A RU2547618C2 (en) | 2013-05-21 | 2013-05-21 | Method of setting up arithmetic accelerator for solving large systems of linear equations |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013123082A RU2013123082A (en) | 2014-11-27 |
RU2547618C2 true RU2547618C2 (en) | 2015-04-10 |
Family
ID=53296740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013123082/08A RU2547618C2 (en) | 2013-05-21 | 2013-05-21 | Method of setting up arithmetic accelerator for solving large systems of linear equations |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2547618C2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1290347A1 (en) * | 1985-06-28 | 1987-02-15 | Вц Со Ан Ссср | Device for solving differential equations by implicit variable directions scheme |
SU1755295A2 (en) * | 1990-11-05 | 1992-08-15 | Военная инженерная радиотехническая академия противовоздушной обороны им.Маршала Советского Союза Говорова Л.А. | Device for decomposing symmetric matrices |
US7236998B2 (en) * | 2003-09-25 | 2007-06-26 | International Business Machines Corporation | System and method for solving a large system of dense linear equations |
RU2312388C2 (en) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Method for organization of multi-processor computer |
-
2013
- 2013-05-21 RU RU2013123082/08A patent/RU2547618C2/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1290347A1 (en) * | 1985-06-28 | 1987-02-15 | Вц Со Ан Ссср | Device for solving differential equations by implicit variable directions scheme |
SU1755295A2 (en) * | 1990-11-05 | 1992-08-15 | Военная инженерная радиотехническая академия противовоздушной обороны им.Маршала Советского Союза Говорова Л.А. | Device for decomposing symmetric matrices |
US7236998B2 (en) * | 2003-09-25 | 2007-06-26 | International Business Machines Corporation | System and method for solving a large system of dense linear equations |
RU2312388C2 (en) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Method for organization of multi-processor computer |
Also Published As
Publication number | Publication date |
---|---|
RU2013123082A (en) | 2014-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Statistical methods and computing for big data | |
Chen et al. | H-PARAFAC: Hierarchical parallel factor analysis of multidimensional big data | |
Dang et al. | CUDA-enabled Sparse Matrix–Vector Multiplication on GPUs using atomic operations | |
Yang et al. | A pipeline computing method of SpTV for three-order tensors on CPU and GPU | |
Dang et al. | The sliced coo format for sparse matrix-vector multiplication on cuda-enabled gpus | |
Ballard et al. | Avoiding communication in successive band reduction | |
US20180373677A1 (en) | Apparatus and Methods of Providing Efficient Data Parallelization for Multi-Dimensional FFTs | |
Moxey et al. | Optimising the performance of the spectral/hp element method with collective linear algebra operations | |
Oyarzun et al. | Portable implementation model for CFD simulations. Application to hybrid CPU/GPU supercomputers | |
Wu et al. | An optimized FFT-based direct Poisson solver on CUDA GPUs | |
Magoulès et al. | Auto-tuned Krylov methods on cluster of graphics processing unit | |
Liu et al. | A multiscale semi-smooth Newton method for optimal transport | |
Takahashi | Implementation of parallel 1-D FFT on GPU clusters | |
Cuomo et al. | On GPU–CUDA as preprocessing of fuzzy-rough data reduction by means of singular value decomposition | |
Golovashkin et al. | Solving finite-difference equations for diffractive optics problems using graphics processing units | |
Gu et al. | Deflated and restarted Krylov subspace methods for Sylvester tensor equations | |
RU2547618C2 (en) | Method of setting up arithmetic accelerator for solving large systems of linear equations | |
Tomczak et al. | Acceleration of iterative Navier-Stokes solvers on graphics processing units | |
Arumugam et al. | A memory efficient algorithm for adaptive multidimensional integration with multiple GPUs | |
Phipps et al. | Exploring emerging manycore architectures for uncertainty quantification through embedded stochastic Galerkin methods | |
Wu et al. | EITHOT: Efficient In-place Transposition of High Order Tensors on GPUs | |
You et al. | Evaluating multi-core and many-core architectures through accelerating the three-dimensional Lax–Wendroff correction stencil | |
Godoy et al. | Introduction of parallel GPGPU acceleration algorithms for the solution of radiative transfer | |
Carrillo-Cabada et al. | An out of memory tsvd for big-data factorization | |
Kunis et al. | Fast evaluation of real and complex exponential sums |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160522 |