Системы и способы построения геофизических изображений с использованием аморфной вычислительной обработки

Номер патента: 8510

Опубликовано: 29.06.2007

Автор: Кэмпс Билл

Есть еще 18 страниц.

Смотреть все страницы или скачать PDF файл.

Формула / Реферат

1. Аморфная вычислительная система для расчета сейсмических изображений, причем система состоит из

первого аморфного аппаратного элемента;

вычислительного процессора, соединенного с возможностью взаимодействия с аморфным аппаратным элементом и с машиночитаемым носителем, причем машиночитаемый носитель включает в себя инструкции, исполняемые вычислительным процессором, которые позволяют

определять первое множество аппаратных вентилей внутри аморфного аппаратного элемента для формирования первого конвейера обработки данных, при этом первый конвейер обработки данных может обновлять первую точку сейсмического изображения; и

определять второе множество аппаратных вентилей внутри аморфного аппаратного элемента для формирования второго конвейера обработки данных, при этом второй конвейер обработки данных может обновлять вторую точку сейсмического изображения независимо от первого конвейера обработки данных.

2. Система по п.1, в которой машиночитаемый носитель дополнительно включает в себя набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, и набор коэффициентов для sinc-фильтра.

3. Система по п.2, в которой первый конвейер обработки данных и второй конвейер обработки данных включают в себя функции, которые могут осуществлять по меньшей мере некоторые элементы алгоритма Кирхгофа, и в котором функции включают в себя

первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения;

вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных, которая вносит вклад в точку изображения;

третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных;

четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты;

пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и

шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения.

4. Система по п.1, в которой первый конвейер обработки данных и второй конвейер обработки данных включают в себя функции, которые могут осуществлять, по меньшей мере, некоторые элементы алгоритма волнового уравнения, и при этом функции включают в себя

функцию обновления, причем функция обновления создает систему уравнений, которая будет распределять энергию от трассы данных к набору точек выходного изображения, расположенных на координатной сетке х, у, z;

функцию тридиагонального решателя, причем функция тридиагонального решателя решает набор совместных функций; и

функцию коррекции тонкой линзы, причем функция коррекции тонкой линзы компенсирует градиент скорости в горизонтальном направлении.

5. Система по п.1, в которой аморфный аппаратный элемент содержит первую программируемую вентильную матрицу, причем система дополнительно содержит вторую программируемую вентильную матрицу, соединенную с возможностью взаимодействия с процессором ЭВМ, причем машиночитаемый носитель дополнительно включает в себя инструкции, выполняемые процессором ЭВМ, чтобы определять третье множество аппаратных вентилей внутри второй программируемой вентильной матрицы для формирования третьего конвейера обработки данных, причем третий конвейер обработки данных может обновлять третью точку сейсмического изображения независимо от первого конвейера обработки данных и второго конвейера обработки данных.

6. Система по п.1, в которой аморфный аппаратный элемент содержит программируемую вентильную матрицу, и в которой процессор ЭВМ содержит процессор ЭВМ с сокращенным набором команд.

7. Система для реализации алгоритма Кирхгофа, причем система содержит

программируемую вентильную матрицу;

процессор ЭВМ, соединенный с возможностью взаимодействия с программируемой вентильной матрицей и с машиночитаемым носителем, причем машиночитаемый носитель включает в себя набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, набор коэффициентов для sinc-фильтра, и инструкции, выполняемые процессором ЭВМ, для того чтобы

определять первое множество аппаратных вентилей внутри программируемой вентильной матрицы для формирования первого конвейера обработки данных, причем первый конвейер обработки данных может обновлять первую точку сейсмического изображения, и при этом первый конвейер обработки данных реализует следующие функции:

первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения;

вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных, которое вносит вклад в точку изображения;

третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных;

четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты;

пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и

шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения;

определять второе множество аппаратных вентилей внутри программируемой вентильной матрицы для формирования второго конвейера обработки данных, причем второй конвейер обработки данных может обновлять вторую точку сейсмического изображения независимо от первого конвейера обработки данных, и при этом второй конвейер обработки данных реализует следующие функции:

первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения;

вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных, которое вносит вклад в точку изображения;

третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных;

четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты;

пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и

шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения.

8. Способ расчета множества сейсмических выходных трасс из множества сейсмических входных трасс, причем способ содержит этапы, на которых

разделяют входные трассы на множество наборов входных трасс;

программируют группы аппаратных вентилей внутри аморфного аппаратного элемента, причем каждая группа запрограммированных аппаратных вентилей содержит отдельный конвейер обработки данных, реализующий по меньшей мере часть алгоритма построения сейсмических изображений; и

управляют аморфным аппаратным элементом таким образом, чтобы перерабатывать по меньшей мере часть множества наборов входных трасс посредством конвейеров обработки данных по меньшей мере в часть множества выходных трасс.

9. Способ по п.8, который дополнительно содержит этапы, на которых

инициализируют файл выходного изображения в памяти, связанной с аморфным аппаратным элементом, причем файл выходного изображения содержит множество выходных трасс; и

считывают множество входных трасс в память, связанную с аморфным аппаратным элементом.

10. Способ по п.9, в котором на упомянутых этапах инициализации и считывания файл выходного изображения инициализируется в памяти, внешней по отношению к аморфному аппаратному элементу, а множество входных трасс считывается во внутреннюю память аморфного аппаратного элемента.

11. Способ по п.8, в котором упомянутый этап разделения содержит этапы, на которых

идентифицируют группы выходных трасс;

ассоциируют каждую группу выходных трасс с группой аппаратных вентилей, содержащих один из конвейеров обработки данных;

собирают входные трассы, относящиеся к каждой группе выходных трасс, в наборы входных трасс; и

назначают каждый набор входных трасс обрабатывающему контейнеру, содержащему группу аппаратных вентилей, ассоциированных с группой выходных трасс, к которым относится каждый из наборов входных трасс.

12. Способ по п.8, в котором по меньшей мере часть алгоритма построения сейсмических изображений включает в себя элементы алгоритма Кирхгофа.

13. Способ по п.12, причем способ дополнительно содержит этап, на котором генерируют набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, и набор коэффициентов sinc-фильтра.

14. Способ по п.13, в котором на упомянутом этапе генерации и фильтр высокой частоты и sinc-фильтр включают в себя по меньшей мере двадцать точек.

15. Способ по п.13, в котором для каждого конвейера обработки данных упомянутый этап управления содержит этапы, на которых

интерполируют функцию скорости, чтобы рассчитать скорость в точке изображения;

используют скорость для расчета времени входной трассы, которая вносит вклад в точку изображения;

вычисляют действительное число отсчетов входной трассы, используя время входной трассы, причем действительное число отсчетов входной трассы содержит дробное смещение от целого числа отсчетов входной трассы;

фильтруют множество целых чисел отсчетов входной трассы, которые охватывают действительное число отсчетов входной трассы, используя набор коэффициентов фильтра высокой частоты;

используют набор коэффициентов для sinc-фильтра, чтобы интерполировать множество целых чисел отсчетов, отфильтрованных по высокой частоте, в действительное число отсчетов; и

суммируют выходные данные sinc-фильтра в выходную трассу в точке изображения.

16. Способ по п.8, в котором по меньшей мере часть алгоритма построения сейсмических изображений включает в себя элементы алгоритма волнового уравнения.

17. Способ по п.16, в котором для каждого конвейера обработки данных упомянутый этап управления содержит этапы, на которых

создают систему уравнений, которая распределяет энергию от входной трассы к набору выходных точек изображения, расположенных на координатной сетке х, у, z, причем система уравнений с граничными условиями содержит тридиагональную матрицу;

решают тридиагональную матрицу, чтобы получить набор значений, представляющих вклад входной трассы в набор точек выходного изображения;

применяют коррекцию тонкой линзы, компенсирующую градиент скорости в горизонтальном направлении в наборе значений, чтобы получить скорректированное значение; и

суммируют скорректированное значение в выходную трассу.

18. Способ по п.8, в котором на упомянутом этапе программирования аппаратных вентилей в аморфном аппаратном элементе первую группу аппаратных вентилей в аморфном аппаратном элементе программируют, чтобы сформировать первый конвейер обработки данных, а вторую группу аппаратных вентилей в аморфном аппаратном элементе программируют, чтобы сформировать второй конвейер обработки данных.

19. Способ по п.18, в котором на упомянутом этапе управления аморфным аппаратным элементом первый конвейер обработки данных обновляет первую точку сейсмического изображения, а второй конвейер обработки данных обновляет вторую точку сейсмического изображения.

20. Способ по п.19, в котором на упомянутом этапе управления аморфным аппаратным элементом первый конвейер обработки данных работает независимо от второго конвейера обработки данных.

21. Способ по п.8, в котором аморфный аппаратный элемент содержит программируемую вентильную матрицу, соединенную с возможностью взаимодействия с процессором универсальной ЭВМ.

22. Способ по п.21, в котором процессор универсальной ЭВМ содержит процессор ЭВМ с сокращенным набором команд.

23. Способ по п.8, в котором на упомянутом этапе управления аморфным аппаратным элементом каждый из конвейеров обработки данных может обновлять точку сейсмического изображения параллельно с другими конвейерами обработки данных.

24. Способ по п.8, дополнительно содержащий этапы, на которых

программируют группы аппаратных вентилей внутри по меньшей мере одного дополнительного аморфного аппаратного элемента, причем каждая группа аппаратных вентилей содержит отдельные конвейеры обработки данных, реализующие по меньшей мере часть алгоритма построения сейсмических изображений; и

управляют по меньшей мере одним дополнительным аморфным аппаратным элементом, чтобы перерабатывать по меньшей мере часть наборов входных трасс по меньшей мере в часть выходных трасс.

25. Способ по п.24, в котором аморфные аппаратные элементы содержат программируемые вентильные матрицы, соединенные с возможностью взаимодействия с процессором универсальной ЭВМ.

26. Способ по п.25, в котором процессор универсальной ЭВМ содержит процессор ЭВМ с сокращенным набором команд.

Рисунок 1

 

Текст

Смотреть все

008510 Перекрестные ссылки на родственные заявки Настоящее изобретение испрашивает приоритет на основании предварительной заявки на патент США 60/491942, озаглавленной Системы и способы построения геофизических изображений с использованием аморфной вычислительной обработки, поданной 1 августа 2003 г., и приоритет на основании заявки на патент США номер 10/68737, поданной 15.10.2003 под тем же названием. Вышеупомянутые заявки 60/491942 и 10/687371 полностью содержатся в данном документе в качестве ссылки для всех целей. Область техники, к которой относится изобретение Настоящее изобретение относится к вычислительной обработке. Более конкретно, настоящее изобретение обеспечивает аморфные вычислительные системы и способы для использования их при выполнении сложной вычислительной обработки. Такая сложная обработка может уменьшить набор данных до вида, требуемого пользователем. В качестве одного из примеров, набор данных может быть группой сейсмических данных, которая сокращается, формируя трехмерное изображение геологической формации. Также могут быть сокращены другие наборы данных. Предшествующий уровень техники Индустрия обработки сейсмических данных связана с обработкой больших объемов сейсмических данных с использованием очень сложных алгоритмов. Это особенно верно для алгоритмов обработки изображений, которые используют большую часть вычислительной мощности в этой индустрии. Подобная обработка исторически включала использование дорогих суперкомпьютеров или высокопроизводительных рабочих станций. Например, количество вовлеченных данных и сложность алгоритмов часто требует недель обработки, чтобы создать изображение геологической структуры. Чтобы снизить стоимость обработки, в индустрии сейсмической обработки проводились эксперименты с использованием недорогих компьютеров в качестве основных обрабатывающих устройств. Используя такой подход до 10000 или более недорогих компьютеров могут быть сгруппированы для выполнения одного расчета. Однако вследствие сущности недорогих компьютеров, устройств, содержащих недорогие компьютеры, и/или средств группировки недорогих компьютеров, было трудно достигнуть более чем приблизительно двадцати процентов вычислительной емкости, заключенной в недорогих компьютерах. Дополнительно, управление вычислительными задачами, функционирующими на таком большом количестве недорогих компьютеров, представляет значительную административную ответственность. Таким образом, в данной области техники существует необходимость обеспечить усовершенствованные системы и способы вычислительной обработки. Как станет очевидно из последующего раскрытия, системы и способы в соответствии с настоящим изобретением адресованы этим и ряду других проблем, относящимся к обработке. Сущность изобретения Настоящее изобретение обеспечивает системы и способы выполнения сложного вычислительного анализа с использованием аморфных аппаратных элементов. Такие аморфные аппаратные элементы могут программироваться под управлением универсальных вычислительных процессоров, таких как, например, персональный компьютер на базе процессоров AMD или INTEL. На основе раскрытия, представленного в данном документе, обычному специалисту в данной области техники будет очевидно, что могут использоваться другие компьютерные процессоры, включающие в себя вычислительные рабочие станции, суперкомпьютеры, компьютерные серверы, встроенные центральные процессоры и микроконтроллеры, и/или их комбинации. В отдельных случаях назначается такой алгоритм расчета, что одна часть алгоритма реализуется посредством аморфного аппаратного элемента, а другая часть алгоритма может быть реализована посредством другого аморфного аппаратного элемента. В отдельных случаях аморфные аппаратные элементы могут включать в себя ряд аппаратных вентилей, которые могут быть реализованы внутри них,например программируемую вентильную матрицу (FPGA). Такой подход может обеспечить высокопараллельную вычислительную деятельность, в которой в соответствующих аморфных аппаратных элементах реализованы тысячи или более каналов. Каждый из этих каналов может функционировать независимо от других каналов, осуществляя обособленную долю окончательного вычислительного анализа. В некоторых случаях все эти аморфные аппаратные элементы реализуются в одной FPGA, в то время как в других случаях различные аморфные аппаратные элементы могут быть реализованы в двух или более матрицах FPGA. В отдельных случаях вычислительный анализ может включать в себя обработку сейсмических изображений, которая включает в себя переработку ряда входящих сейсмических кривых самописцев в сейсмическое изображение. Части сейсмических входных трасс могут распределяться каждому из аморфных аппаратных элементов, и трехмерное сейсмическое изображение, вычисленное из результатов,извлекается из аморфных аппаратных элементов. Другие примеры наборов данных могут обрабатываться в соответствии с настоящим изобретением, включая в себя, но не ограничиваясь геофизическими данными, астрономическими данными, электромагнитными данными и тому подобным.-1 008510 Как будет очевидно среднему специалисту в данной области техники после прочтения предоставленного в данном документе раскрытия, при использовании аморфных вычислительных систем и способов в соответствии с настоящим изобретением может быть достигнут ряд преимуществ. Просто в качестве одного из множества примеров, аморфные вычислительные системы согласно настоящему изобретению могут использоваться, чтобы значительно снизить затраты, связанные с расчетом. Основываясь на закупочной цене и не принимая во внимание другие факторы, такие как затраты на средства обслуживания, которые также могут быть значительными; аморфная вычислительная система, реализованная в соответствии с вариантами осуществления настоящего изобретения, может быть выполнена с затратами,составляющими приблизительно десять процентов или менее от затрат на систему предшествующего уровня техники, основанную на компьютерах с двумя процессорами INTEL или AMD, собранных в узловую конфигурацию. В отдельных вариантах осуществления затраты могут составлять приблизительно один процент от затрат на системы предшествующего уровня техники. Как было упомянуто выше, значительная экономия может быть также достигнута в затратах на средства обслуживания, включающие в себя затраты на физическое пространство, разовые затраты на кондиционирование воздуха и периодические затраты на электричество. Например, для средств обслуживания сейсмической обработки данных не является необычным включать в себя десять тысяч или более квадратных футов только на размещение компьютерных кластеров для выполнения вычислительной обработки. Более того, каждый компьютер в кластере компьютеров выделяет значительное тепло, что делает необходимым использование многочисленных установок кондиционирования воздуха, чтобы охладить комнату, в которой расположены компьютеры. Аморфная компьютерная система в соответствии с некоторыми вариантами осуществления настоящего изобретения может размещаться на относительно небольшой площади, занимаемой, например,стойкой стандарта 3U. Такая аморфная вычислительная система может замещать вычислительные,функциональные возможности до пяти тысяч или более двухпроцессорных персональных ЭВМ и может эксплуатироваться при менее чем десяти ампер мощности. Таким образом, системы и способы в соответствии с настоящим изобретением могут радикально уменьшить себестоимость сложных вычислений. Дополнительно к экономии затрат, системы и способы в соответствии с настоящим изобретением могут значительно снизить количество вычислительного времени, требуемого для перехода от заданного набора данных (например, количества) к требуемому результату. Например, в индустрии построения сейсмических изображений вычисления могут выполняться месяц или более. Фактически в некоторых случаях может требоваться несколько месяцев вычислительного времени. Это происходит отчасти из-за сложности, которая появляется, когда для решения задачи одновременно используются сотни персональных ЭВМ. Эти задачи значительно сокращаются там, где используются аморфные вычислительные системы настоящего изобретения. В частности, аморфные вычислительные системы в соответствии с настоящим изобретением могут снизить вычислительное время с месяцев до дней и менее. Сокращая длительность цикла обработки с месяцев до нескольких дней, аморфные вычислительные системы в соответствии с настоящим изобретением могут позволить компании выполнять многократные итерации задания, чтобы определить и гарантировать наилучший результат. Такой подход типично оказывается непрактичным, когда используются системы предшествующего уровня техники. При предшествующем уровне техники итеративный подход часто был оправдан только при работе с минимальной частью набора данных, которая должна быть редуцирована. При использовании аморфных вычислительных систем в соответствии с настоящим изобретением итеративный подход может применяться к набору данных целиком, который не мог итеративно обрабатываться при использовании систем предшествующего уровня техники. Дополнительно, благодаря вычислительной эффективности аморфных вычислительных систем в соответствии с настоящим изобретением, на коммерческой основе могут быть разработаны и использованы более точные алгоритмы. Так, используя в качестве примера индустрию сейсмической визуализации, алгоритмы, которые используются в настоящее время, такие как алгоритмы Кирхгофа во временной и глубинной областях, могут быть усовершенствованы, используя преимущество дополнительной вычислительной мощности. Дополнительно, аморфные вычислительные системы в соответствии с настоящим изобретением обеспечивают возможность полностью использовать конечно-разностное волновое уравнение, которое является слишком дорогим для практического использования на существующих кластерных компьютерных системах. Некоторые варианты осуществления настоящего изобретения обеспечивают способы обработки трасс данных переменной длины в одном или более аморфных аппаратных элементах. Такие способы включают в себя обеспечение по меньшей мере одного аморфного аппаратного элемента и вычислительного процессора, соединенного с возможностью обмена данными с аморфным аппаратным элементом(элементами) и с машиночитаемым носителем. В некоторых случаях аморфный вычислительный элемент находится в группе аппаратных вентилей в FPGA. Дополнительно в некоторых случаях процессор ЭВМ является вычислительной машиной с сокращенным набором команд. В данных способах доступ к трассе данных осуществляется с машиночитаемого носителя, определяется длина трассы данных, и доступ к функции осуществляется с машиночитаемого носителя, который-2 008510 может принимать длину трассы приблизительно равную определенной длине трассы данных, к которой осуществляется доступ. В некоторых случаях функция, к которой осуществляется доступ, может принимать длину трассы, на приращение большую, чем определенная длина трассы данных, к которой осуществляется доступ. В таком случае избыточная длина функции может быть заполнена нулевыми данными такими, что длина трассы данных, к которой осуществляется доступ, после заполнения равна длине трассы, которую данная функция может принять. В вышеупомянутых способах аморфный аппаратный элемент (элементы) затем программируется/программируются для реализации функции, к которой осуществляется доступ. В отдельных случаях трасса данных представляет собой одну из множества трасс данных съемки, и множество трасс данных в съемке имеют одну длину. Машиночитаемый носитель может включать в себя множество функций по выбору, где каждая из множества функций может принимать трассы данных с различными длинами трасс. В некоторых случаях способ дополнительно включает в себя выбор между двумя или более функциями, по меньшей мере, частично на основе определенной длины трассы данных, к которым осуществляется доступ. В одном частном случае одна из функций может принимать длину трассы, большую, чем определенная длина трассы, а другая может принимать длину трассы, меньшую, чем определенная длина трассы. В таком случае может быть выбрана функция, которая может принимать избыточную длину трассы, а избыточная длина трассы заполняется нулевыми данными. В некоторых случаях способы дополнительно включают в себя выделение идентификационных имен различным функциям, сохраняемым на машиночитаемом носителе, и объединение различных функций, чтобы создать исполняемые функции, доступные по выделенным идентификационным именам. В отдельных случаях функции являются функциями сейсмической визуализации, и программирование аморфного аппаратного элемента (элементов), чтобы реализовать функции сейсмической визуализации, содержит определение множества аппаратных вентилей внутри FPGA или некоторой другой программируемой службы. Опять же, такой аморфный аппаратный элемент может представлять собой FPGA или подмножество аппаратных вентилей, которые FPGA включает в себя. Более того, в некоторых случаях задание множества аппаратных вентилей внутри аморфного аппаратного элемента может задать один или более конвейеров обработки данных. Фактически в некоторых случаях может быть задана одна тысяча или более параллельных конвейеров обработки данных. Каждый из конвейеров обработки данных может при своей работе обновлять соответствующие точки сейсмического изображения независимо от остальных конвейеров из множества конвейеров обработки данных. Это обеспечивает высокую степень параллельности и соответствующее увеличение скорости обработки. В определенных случаях способы разрабатываются для поддержки миграции Кирхгофа и включают в себя предоставление множества коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, и набор коэффициентов для sinc-фильтра. В таких случаях конвейер обработки данных (конвейеры) реализуют части миграции Кирхгофа. В одном конкретном случае конвейер обработки данных состоит главным образом из шести функций. Первая функция интерполирует функцию распределения скорости для расчета скорости точки изображения; вторая функция использует скорость для расчета времени трассы данных, которая вносит вклад в точку изображения; третья функция использует время трассы данных для расчета действительного объема выборки трассы данных, где действительный объем выборки трассы данных включает в себя дробное смещение от полного объема выборки трассы данных; четвертая функция фильтрует множество полных объемов выборки трассы данных, которые охватывают действительный объем выборки трассы данных, используя набор коэффициентов для высокочастотного фильтра; пятая функция использует набор коэффициентов для sinc-фильтра для интерполяции отфильтрованного множества полных объемов выборки к действительному объему выборки; и шестая функция суммирует выходные данные пятой функции с получением выходной трассы в точке изображения. В других определенных случаях способы приспособлены для реализации множества частей волнового уравнения в виде конвейеров обработки данных. В таких особых случаях конвейер обработки данных состоит главным образом из: функции обновления, которая создает систему уравнений, которая будет распределять энергию от трассы данных к набору точек выходного изображения, расположенных на координатной сетке х, у, z; тридиагональная решающая функция, которая решает систему уравнений; и функция коррекции тонкой линзы, которая компенсирует боковой градиент скорости. Другие варианты осуществления изобретения обеспечивают аморфные вычислительные системы. В некоторых случаях аморфные вычислительные системы включают в себя два или более аморфных аппаратных элемента и процессор ЭВМ, присоединенный с возможностью взаимодействия к аморфным аппаратным элементам. Процессор ЭВМ связан с машиночитаемым носителем, который включает в себя элементы, пригодные для реализации одного или более описанных выше способов. В одном конкретном случае машиночитаемый носитель включает в себя: набор данных; инструкции, исполняемые вычислительным процессором для того, чтобы определить длину трассы и выбрать конвейерную функцию, пригодную для данной длины трассы, и инструкции, исполняемые вычислительным процессором для доступа к выбранной конвейерной функции. В некоторых случаях машиночитаемый носитель дополнительно включает в себя инструкции, исполняемые вычислительным процессором для того, чтобы запрограмми-3 008510 ровать одно из аморфных аппаратных элементов, используя конвейерную функцию, определить первый конвейер обработки данных и запрограммировать другой (другие) аморфный аппаратный элемент, используя конвейерную функцию, определить другой соответствующий конвейер обработки данных (конвейеры). Также включаются инструкции, выполнение которых позволяет вычислительному процессору получить доступ, по меньшей мере, к части набора данных; поместить первый сегмент набора данных на первый конвейер обработки данных; поместить второй сегмент набора данных на второй конвейер обработки данных; принять первый результат от первого конвейера обработки данных; принять второй результат от второго конвейера обработки данных. В некоторых случаях один из конвейеров обработки данных может создать один выходной элемент данных сейсмического изображения (например, точку изображения или выходную трассу), а другой конвейер обработки данных (конвейеры) могут создать другие выходные элементы данных сейсмического изображения (изображений). Такие конвейеры могут функционировать независимо. Данное краткое изложение предоставляет только основные положения некоторых вариантов осуществления в соответствии с настоящим изобретением. Множество других объектов, признаков, преимуществ и других вариантов осуществления настоящего изобретения станут более очевидными из последующего подробного описания, приложенной формулы изобретения и сопровождающих чертежей. Краткое описание чертежей Дальнейшее понимание различных вариантов осуществления настоящего изобретения может быть получено при помощи ссылок на чертежи, которые описаны в оставшихся частях описания изобретения. На чертежах одинаковые ссылочные номера используются по нескольким чертежам для обозначения сходных компонентов. В некоторых случаях с ссылочным номером ассоциирована вспомогательная метка, состоящая из строчной буквы, для обозначения нескольких сходных компонентов. Когда делается ссылка на ссылочный номер без детализации до существующей вспомогательной метки, то данная ссылка предназначена для обозначения всего множества таких сходных компонентов. Фиг. 1 - это упрощенное поперечное сечение Земли, иллюстрирующее расположение сейсмических датчиков и измеряемой геологической структуры; фиг. 2 - это двумерный вид сверху расположения сейсмических датчиков на фиг. 1; фиг. 3 - это двумерный вид сверху на фиг. 2 с добавлением точек вычисления в отношении сейсмических датчиков; фиг. 4 иллюстрирует матрицу FPGA, основанную на аморфной аппаратной системе, которая может использоваться в соответствии с вариантами осуществления настоящего изобретения; фиг. 5 иллюстрирует аморфную вычислительную систему в соответствии с некоторыми вариантами осуществления настоящего изобретения; фиг. 6 - это блок-схема алгоритма примерного способа использования аморфной вычислительной системы в соответствии с некоторыми вариантами осуществления настоящего изобретения; фиг. 7 иллюстрирует сегментацию точек данных, которые проиллюстрированы на фиг. 5, применимую относительно способа на фиг. 6; и фиг. 8 иллюстрирует способы поддержки различных длин трасс в соответствии с некоторыми вариантами осуществления настоящего изобретения. Режим(ы) осуществления изобретения Настоящее изобретение относится к вычислительной обработке. Более конкретно, настоящее изобретение обеспечивает аморфные вычислительные системы и способы для использования их при выполнении сложной вычислительной обработки. Такая сложная обработка может уменьшить набор данных до вида, требуемого пользователем. В качестве одного из примеров, набор данных может быть группой сейсмических данных, которая сокращается до формы трехмерного изображения геологической формации. Другие наборы данных также могут быть сокращены, включая, но не ограничиваясь другими геофизическими данными, астрономическими данными, электромагнитными данными и тому подобным. В то время как изобретение может применяться к ряду вычислительных сценариев, с целью иллюстрации оно описано в отношении создания сейсмических изображений геологических структур. Со ссылкой на фиг. 1 предоставляется упрощенное поперечное сечение 100 Земли 110, иллюстрирующее размещение местоположений 120 сейсмических источников и визуализируемую геологическую структуру 130. Местоположения 120 сейсмических источников могут включать в себя любой источник/датчик,способный создавать измерительную энергию 140 и/или воспринимать такую измерительную энергию 140, когда она отражается структурами, внутренними по отношению к Земле 110. Обычный специалист в данной области техники определит и разберется во множестве таких датчиков. Также показан ряд местоположений 150 приемников. Местоположения 150 приемников - это местоположения на поверхности Земли 110 или отображаемые участки 160, которые простираются от поверхности к точке под поверхностью. При работе энергия 140, такая как звуковые волны, от одного или более местоположений 120 источников передается в Землю 110, а отражения от этих волн считываются в различных местоположениях 120 источников. Таким образом, географически протяженные сенсорные данные затем обрабатываются или интерполируются, чтобы вычислить изображение, соответствующее местоположениям 150 приемников и визуализируемым областям 160. Эта обработка или интерполирование называется в данном до-4 008510 кументе как обработка сейсмического изображения. Дополнительно, данные, принятые и/или измеренные в местах размещения 120 источников называются в данном документе сейсмическими данными трассы, сейсмическими данными или входными данными трассы. Данные, полученные из входных данных трассы для различных мест 150 размещения приемника, называются в данном документе выходными данными трассы, выходными данными изображения или точками изображения. Обращаясь к фиг. 2, двумерный вид 200 сверху показывает относительное физическое расположение мест 120 размещения сейсмических источников (проиллюстрированных как квадраты) параллельно поверхности Земли 110. Подобные места 120 расположения источников могут быть помещены в различных местоположениях по всей поверхности Земли. В некоторых случаях места 120 расположения источников расположены в нескольких футах от другого источника/датчика, в то время как в других случаях места 120 расположения источников могут быть расположены в милях или сотнях миль от другого источника/датчика. Для целей настоящего описания и изобретения может использоваться любое количество мест 120 расположения источников, и они могут быть расположены в любом местоположении. Размещение и использование мест 120 расположения источников находится вне области настоящего раскрытия. Однако квалифицированный специалист в данной области техники определит, как и где поместить места 120 расположения источников. Обращаясь к фиг. 3, вид 200 на фиг. 2 дополнен рядом мест 150 расположения приемников. Места 150 расположения приемников - это физические области, для которых должно быть рассчитано изображение или выходная трасса, основываясь на входных трассах, полученных от различных мест 120 расположения источников. Далее, в предшествующем обсуждении настоящее изобретение описано в связи с алгоритмами Кирхгофа и конечно-разностного волнового уравнения. Однако необходимо понимать, что различные варианты осуществления настоящего изобретения могут применяться к ряду различных алгоритмов. При описании систем и способов настоящего изобретения подразумевается наличие знаний об алгоритмах Кирхгофа и конечно-разностного волнового уравнения в рамках квалификации обычного специалиста в данной области техники. Дополнительные подробности, применимые к данным алгоритмам, можно найти в различных ссылках, включающих в себя следующие: Paraxial Ray Kirchhoff Migration, GeophysicsOperator, Gray, S.H. 1992, Geophysical Prospecting, 40, 565-571. Полное содержание каждой из упомянутых выше ссылок (включая не приведенные части) включено в данный документ в качестве ссылки. В прошлом подобные вычисления могли быть выполнены с использованием кластеров процессоров ЭВМ. При использовании в данном документе процессор ЭВМ, Универсальная ЭВМ или процессор общего назначения представляет собой или включает в себя центральный процессор общего назначения. Такие процессоры ЭВМ могут представлять собой, например, процессоры Pentium, производимыеINTEL и продаваться как часть универсальной ЭВМ, производимой DELL. Другие примерные процессоры могут быть получены от INTEL, AMD, SILICON GRAPHICS и т.п. В некоторых случаях выбранные процессоры общего назначения могут включать в себя любые процессоры, способные работать в ЭВМ на основе UNIX/LINUX. Было обнаружено, что такие универсальные ЭВМ неэффективны. Данная неэффективность может быть приписана, по меньшей мере, отчасти, универсальной природе процессоров ЭВМ. Отчасти, обращаясь к данной неэффективности, различные системы и способы настоящего изобретения используют ряд аморфных вычислительных элементов, программируемых под управлением одного или более процессоров ЭВМ. При использовании в данном документе аморфный аппаратный элемент может являться любой группой конфигурируемых аппаратных структур, которая может быть задана для выполнения определенной функции. Такие конфигурируемые аппаратные структуры могут быть вентилями, транзисторами и/или блоками. В качестве одного примера, аморфный аппаратный элемент может являться матрицей FPGA, некоторой частью FPGA или множеством FPGA. Так, например, одна программируемая вентильная матрица может включать в себя ряд аморфных аппаратных элементов. Вообще говоря,аморфный аппаратный элемент типично включает в себя сотни или более вентилей, которые могут быть сконфигурированы обеспечивать определенную функцию. В свою очередь аппаратные структуры могут быть реконфигурированы, чтобы обеспечивать другую функцию. Необходимо отметить, конфигурация может быть очень эффективной, если она предназначена для выполнения специфичной предопределенной функции, в отличие от процессора ЭВМ, который разработан, чтобы выполнять любое число функций посредством выполнения программного обеспечения. В некоторых вариантах осуществления настоящего изобретения универсальная ЭВМ будет выполнять части данного алгоритма, требующие меньшего объема вычислений, в то время как часть алгоритма, требующая большего объема вычислений, выполняется на одном или более аморфных аппаратных элементах, приспособленных для выполнения такой интенсивной по вычислениям части высокоэффективным способом. Так, в данном случае необходимо перенести только небольшую часть данного алгоритма (часть, требующую большого объема вычислений) для реализации на матрице FPGA или некото-5 008510 рую его часть, в то время как остаток алгоритма, который типично уже запрограммирован на стандартном языке программирования, таком как "С" или FORTRAN, может выполняться на универсальной ЭВМ. Это минимизирует объем алгоритма, который должен быть модифицирован или "портирован",тогда как, несмотря на это, достигается большая часть, если не вся от возможного увеличения производительности. В качестве примера вышеупомянутого подхода может применяться алгоритм построения сейсмических изображений, который состоит из следующих функций, требующих меньшего объема вычислений,выполняемых универсальной ЭВМ: обеспечивают пользовательский интерфейс с экранами помощи; проверяют непротиворечивость пользовательских параметров; проверяют файлы сейсмических данных; строят базу данных сейсмических трасс; выбирают одну или более сейсмических трасс для обработки,основываясь на параметрах пользователя; размещают выходные файлы; считывают сейсмические трассы с диска и распределяют сейсмические данные на один или более аморфных аппаратных элементов. В свою очередь аморфные аппаратные элементы запрограммированы выполнять этапы, на которых: принимают сейсмические данные; выполняют предварительную обработку сейсмических данных; фильтруют предварительно обработанные сейсмические данные и создают изображение сейсмических данных. Затем доступ к визуализируемым сейсмическим данным может быть получен универсальной ЭВМ из памяти, связанной с аморфными аппаратными элементами, и универсальная ЭВМ выполняет функции,требующие относительно меньшего объема вычислений, при которых печатают одно или более сообщений о ходе выполнения в журнальный файл и выводят переработанные сейсмические данные. В одном варианте реализации, в котором алгоритм реализован как непросуммированная миграция Кирхгофа во временной области, только около двух тысяч строк кода на "С" должно быть перенесено для выполнения на матрицах FPGA из общего объема в приблизительно тридцать пять тысяч строк кода. Такой алгоритм выполняется почти таким же образом, как он выполняется на одной или более универсальных ЭВМ, до тех пор, пока он не достигнет функций предварительной обработки и построения изображения. В этой точке данные передаются через соединение со скоростью один Гбайт/с от универсальной ЭВМ к матрице FPGA с использованием разделяемой памяти для выполнения передачи объектов. Такие процессоры могут использоваться в отношении, например, архитектуры НС-62 М, реализованнойSTAR BRIDGE SYSTEMS. Это делает возможным обмен данными между кодом "С" на универсальной ЭВМ и кодом VIVA, используемым для программирования матриц FPGA. Одна особенная конфигурация системы 400, основанной на матрице FPGA, используемая в соответствии с настоящим изобретением, проиллюстрирована на фиг. 4. В частности, система 400 имеет два Гбайт памяти 420, окружающей и непосредственно соединенной с матрицей FPGA 410, и один Мбайт памяти, встроенный в FPGA 410. Два Гбайт памяти могут быть организованы как четыре запоминающих устройства по пятьсот Мбайт 420 а, 420b, 420 с, 420d, каждое из которых соединено, например, с FPGAVirtexII 6000 через четыре выделенные девяносточетырехразрядные шины 430. На основании представленного в данном документе раскрытия, обычному специалисту в данной области техники будет очевидно количество других матриц FPGA, объемы памяти и/или конфигурации, которые могут использоваться в соответствии с вариантами осуществления настоящего изобретения. В операции построения сейсмического изображения в соответствии с отдельными вариантами осуществления настоящего изобретения ряд аморфных аппаратных элементов внутри матрицы FPGA 410 программируется, чтобы реализовать ряд конвейеров обработки данных, которые обеспечивают переход от входных трасс к выходным трассам. Дополнительно выходное изображение инициализируется в памяти 420 системы 400. Затем универсальная ЭВМ, соединенная с возможностью обмена данными с системой 400, считывает набор входных трасс и загружает входные трассы непосредственно во встроенную память FPGA 410. В зависимости от длины выходных трасс в FPGA 410 могут быть загружены приблизительно пятьсот входных трасс. На данной стадии приблизительно сто выходных трасс передаются из памяти 420 во встроенную в FPGA 410 память. После того как выходные трассы загружены в FPGA 410,запускаются конвейеры обработки данных. После запуска конвейеров обработки данных, которые будут объединять первый набор входных трасс в первый набор выходных трасс, второй набор из ста выходных трасс загружается во встроенную память FPGA 410. Таким образом, выходные трассы помещаются вFPGA 410 посредством механизма двойной буферизации, делая возможным непрерывную работу каждой стадии конвейера обработки данных. После того как набор входных трасс перешел в первый набор выходных трасс, результат помещается обратно в память 420, а конвейер обработки данных свободен для выработки следующего набора результатов на основе второго набора выходных трасс. Этот процесс продолжается до тех пор, пока не произойдет переход входных трасс в полные два Гбайта выходных трасс,сохраняемых в памяти 420. На этой стадии универсальная ЭВМ доставляет матрице FPGA 410 другой набор входных трасс, и процесс продолжается до тех пор, пока не произойдет переход всех входных трасс в выходные трассы изображения. Достигаемая производительность контролируется, помимо прочего, объемом памяти 420 и возможностью обеспечить поддержку загрузки каждой стадии обработки конвейера обработки данных. В одном варианте осуществления настоящего изобретения, чтобы сохранять как можно больше трасс, отсчеты трассы преобразуются из стандартного тридцатидвухбитного типа данных в тип данных, имеющий раз-6 008510 рядность меньшую, чем тридцать два бита. Например, в зависимости от динамического диапазона данных, может оказаться возможным сохранять отсчеты трассы в таком небольшом объеме, как восемь бит,без какой-либо потери точности. VIVATM и FPGA 410 обеспечивают это, позволяя использовать любую произвольную длину бит для хранения отсчетов трассы. В результате в памяти 420 в любой заданный момент времени может сохраняться от трех до четырех раз больше трасс. Уменьшение объема данных также позволяет программировать больше конвейеров обработки данных в данной матрице FPGS, так как ширина конвейеров обработки данных может быть снижена, чтобы соответствовать ширине данных. Это ведет к дополнительному повышению производительности, так как больше конвейеров может работать параллельно. Некоторые операции построения сейсмических изображений, такие как алгоритм Кирхгофа, могут включать в себя использование конвейеров обработки данных, чтобы выполнять ряд последовательных операций, при этом длина всего конвейера обработки данных составляет сотни тактов. Так как каждый входной отсчет может быть переведен в соответствующую выходную трассу независимо от других входных отсчетов, внутри одной или более матриц FPGS может быть достигнута очень высокая степень параллелизма. Так как примерные матрицы FPGA включают в себя миллионы аппаратных вентилей, тысячи таких конвейеров обработки данных могут быть реализованы и работать одновременно в одной матрице FPGA. Так как конвейеры обработки данных поддерживаются в постоянно занятом состоянии, как только они завершают свой первый цикл перехода от входной трассы к результату, результат может извлекаться из каждого конвейера обработки данных каждый такт, вместо получения результата раз в сто тактов или более, требуемых универсальной ЭВМ. Общий процесс, описанный выше в связи с алгоритмом построения сейсмического изображения,может использоваться для любого алгоритма и в особенности подходит для алгоритмов, включающих в себя части, требующие большого объема вычислений, вместе с частями, не требующими такого большого объема вычислений. Конечно, реализация разных алгоритмов типично потребует реализации различных конвейеров обработки данных. Например, алгоритм Кирхгофа состоит из фильтров и интерполяторов, в то время как алгоритм волнового уравнения будет состоять из матричных решающих устройств. Хотя требуются эти изменения, основной процесс остается тем же самым. Некоторые примерные алгоритмы, которые могут быть реализованы с использованием данного общего процесса, включают в себя,но не ограничиваются, не просуммированной миграцией Кирхгофа во временной области; не просуммированной глубинной миграцией Кирхгофа, генерацией времени распространения трассировки лучей, миграцией на основе решения конечно-разностного волнового уравнения, миграцией на основе двустороннего конечно-разностного волнового уравнения или обратной миграцией во временной области, томографическим анализом скоростей, моделированием путем решения прямой задачи и/или т.п. Действительно, возросшая производительность, достигаемая при использовании таких систем, может сделать осуществимыми новые, более сложные алгоритмы. Как дополнительно описано ниже в отношении фиг. 5, системы и способы настоящего изобретения могут быть реализованы в отношении единичной системы 400 или в отношении множества систем, каждая из которых включает в себя одну или более матриц FPGA. Вообще говоря, когда используется больше матриц FPGA, доступно больше вентилей. Таким образом, когда используются дополнительныеFPGA, может быть реализовано и одновременно использоваться больше параллельных конвейеров обработки данных, увеличивая общую пропускную способность системы. В дополнение к возросшему количеству вентилей достигается также соответствующее увеличение объема памяти, тем самым делая возможным увеличение размера изображения. Так как область изображения становится больше, каждый раз при обработке набора входных трасс может строиться изображение большего размера. В некоторых случаях результатом этого может являться более чем линейное ускорение при добавлении дополнительных систем 400. Фиг. 5 иллюстрирует аморфную вычислительную систему 500 в соответствии с некоторыми вариантами осуществления настоящего изобретения. Система 500 включает в себя ЭВМ 510 общего назначения, соединенную с возможностью взаимодействия с рядом конфигурируемых аппаратных групп 520,530, 540, 550. Каждая из аппаратных групп 520, 530, 540, 550 включает в себя один или более аморфных аппаратных элементов 560, контролируемых соответствующим программным, контроллером 522, 532,542, 552. В некоторых случаях соответствующий программный контроллер 522, 532, 542, 552 связан с сотнями, тысячами и даже большим количеством аморфных аппаратных элементов. Одним из таких случаев является случай, когда каждый из аморфных аппаратных элементов, связанных с данным программным контроллером, является подмножеством аппаратных вентилей, доступных в FPGA. В одном отдельном примере сотни аморфных аппаратных элементов 560 реализованы в матрице FPGA VirtexII 6000, которая окружена двумя Гбайт памяти, как описано выше в отношении фиг. 4. В одном отдельном случае программные контроллеры 522, 532, 542, 552 могут представлять собой проблемно-ориентированные интегральные микросхемы (ASIC), которые могут передавать информацию между ЭВМ 510 общего назначения и одним или более аморфными аппаратными элементами 560. Так,например, программные контроллеры 522, 532, 542, 552 могут являться интерфейсами общего назначения, позволяющими принимать набор входных сейсмических трасс от ЭВМ 510 общего назначения и-7 008510 записывать входные сейсмические трассы в один или более аморфных аппаратных элементов 560. Кроме того, ЭВМ 510 общего назначения может передавать информацию по программированию программным контроллерам 522, 532, 542, 552, а программные контроллеры, в свою очередь, могут программировать соответствующий аморфный аппаратный элемент 560, используя информацию по программированию. Более того, программные контроллеры 522, 532, 542, 552 могут принимать результаты от соответствующих аморфных аппаратных элементов и загружать эти результаты в ЭВМ 510 общего назначения. В качестве альтернативы программные контроллеры 522, 532, 542, 552 могут быть реализованы в качестве части ЭВМ 510 общего назначения. На основе приведенного в данном документе раскрытия обычному специалисту в данной области техники будет очевидно множество возможных реализации программных контроллеров 522, 532. 542, 552. Как изображено, система 500 включает в себя один или более аморфных аппаратных элементов 560,соединенных с возможностью взаимодействия с определенным программным контроллером 522, 532,542, 552 внутри аппаратных групп 520, 530, 540, 550. В некоторых случаях аппаратные группы 520, 530,540, 550 создаются с различными уровнями вычислительной мощности посредством связи различного количества аморфных аппаратных элементов 560 внутри соответствующих аппаратных групп 520, 530,540, 550. В таких случаях все аморфные аппаратные элементы 560 могут быть одинаковыми элементами. Альтернативно каждая из аппаратных групп 520, 530, 540, 550 может содержать одинаковое количество аморфных аппаратных элементов 560. В некоторых случаях результатом этого является одинаковая вычислительная мощность каждой из аппаратных групп 520, 530, 540, 550. Нужно понимать, что аппаратные группы могут быть реализованы внутри общей матрицы FPGA, как показано на фиг. 4 выше, или среди нескольких матриц FPGA с использованием в качестве строительного блока системы 400, описанной выше. В одной отдельной реализации каждая аппаратная группа реализуется в одной FPGA. Так, в подобных реализациях термины "аппаратная группа" и FPGA становятся синонимами. Затем, необходимо понимать, что система 500 может быть реализована только с одной аппаратной группой, состоящей из тысяч и более аморфных аппаратных элементов. В некоторых вариантах осуществления, в которых аппаратные группы 520, 530, 540, 550 обладают различными уровнями вычислительной мощности, программный контроллер 522, 532, 542, 552, связанный с соответствующей аппаратной группой 520, 530, 540, 550, программируется с возможностью указывать вычислительную мощность, связанную с аппаратной группой. Такая вычислительная мощность может указываться в виде количества программируемых вентилей, количества транзисторов, тактовой частоты, объема памяти и/или их комбинации. Дополнительно вычислительная мощность может быть записана как совокупность всех аморфных аппаратных элементов 560 внутри данной аппаратной группы,причем аппаратная группа состоит из множества матриц FPGA, на основе отдельных аморфных аппаратных элементов или и того, и другого. В некоторых случаях в программных контроллерах 522, 532, 542,552 реализовано чтение различных аморфных аппаратных элементов 560 и выдача прочтенной информации, в то время как в других случаях информация жестко запрограммирована в программных контроллерах 522, 532, 542, 552. Более того, в некоторых случаях в программных контроллерах 522, 532, 542, 552 реализовано выполнение самотестирования, включающего в себя тест каждого из связанных аморфных аппаратных элементов, чтобы определить эксплуатационные возможности аппаратных элементов. Это может быть выполнено, например, при включении питания аппаратных групп или в некоторый другой момент времени под управлением ЭВМ 510 общего назначения. ЭВМ 510 общего назначения может считывать информацию о вычислительной мощности с каждого из программных контроллеров 522, 532, 542, 552 и распределять вычисления на основе доступной вычислительной мощности. Так, в качестве всего лишь одного примера, когда аппаратная группы 520 предлагает в два раза больше программируемых вентилей и в два раза больший объем памяти по сравнению с аппаратной группой 540, ЭВМ 510 общего назначения может распределять аппаратной группе 520 в два раза больше сейсмических входных трасс для расчета по сравнению с аппаратной группой 540. Такой подход обеспечивает повышенную масштабируемость и возможность использовать унаследованные аппаратные группы совместно с более новыми аппаратными группами. ЭВМ 510 общего назначения может распределять вычислительные функции так, что каждая из аппаратных групп 520, 530, 540, 550 будет формировать результаты приблизительно за одинаковый промежуток времени, что может использоваться для повышения степени распараллеливания аморфной вычислительной системы 500. Кроме того, ЭВМ 510 общего назначения может направлять определенные более сложные вычислительные функции в одну аппаратную группу, а не в другую, в одну FPGA, а не в другую и/или в одну группу аморфных аппаратных элементов, а не в другую. Так, некоторым из аппаратных групп и/или аморфным аппаратным элементам могут быть заданы вычислительные функции, соразмерные с обеспечиваемой ими вычислительной мощностью. Таким образом, аморфные аппаратные элементы и/или аппаратные группы с повышенной вычислительной мощностью могут использоваться более эффективно для более сложных вычислений, в то же время оставляя некоторую возможность использования более старых устройств с малой мощностью. Такой подход может увеличить период нормальной эксплуатации системы 500, обеспечивая для системы 500 постепенный цикл наращивания.-8 008510 В некоторых случаях, когда аморфные аппаратные элементы реализованы в матрицах FPGA, программирование таких аморфных аппаратных элементов может оказаться сложным. Существуют различные инструментальные средства для программирования матриц FPGA, которые типично не совместимы с языками программирования ЭВМ, такими как С, FORTRAN и т.п. Например, некоторые инструментальные средства требуют описания схемы аппаратуры, которое компилируется для программирования аморфного аппаратного элемента, тогда как другие используют языки разработки аппаратуры, такие какVHDL, для программирования аморфных аппаратных элементов. Чтобы упростить программирование и эксплуатацию аморфных вычислительных систем настоящего изобретения, может использоваться язык программирования, называемый VIVA, предоставленный STAR BRIDGE SYSTEMS. В реализации построения сейсмических изображений, описанной выше, большая часть настройки, передачи и вычислений программируется на традиционном языке программирования и выполняется на универсальной ЭВМ. Остальные части, требующие большего объема вычислений, программируются с использованием языка VIVA и выполняются на одной или более матрицах FPGA. Как обсуждалось выше, так как часть программы, требующая интенсивных вычислений, может составлять только долю от всей программы, на языке VIVA может потребоваться реализовать только относительно небольшой объем программы. Более конкретно упомянутая выше программа построения сейсмических изображений может включать в себя следующие функции, которые предоставляют пользовательский интерфейс, включающий в себя меню и экраны помощи пользователю; проверяют пользовательские параметры на непротиворечивость, проверяют файлы сейсмических данных, строят базу данных сейсмических трасс, выбирают сейсмические трассы для обработки на основе пользовательских параметров, размещают выходные файлы,считывают сейсмические трассы с диска, распределяют программирование по аморфным аппаратным элементам, распределяют данные по аморфным аппаратным элементам, выполняют предварительную обработку и фильтрацию сейсмических данных, формируют изображение сейсмических данных, извлекают результаты из аморфных аппаратных элементов и выводят визуализированные сейсмические данные. Из числа данных функций, функции предварительной обработки, фильтрации и построения изображения реализованы на языке VIVA, в то время как другие функции реализованы в традиционном машинном коде, таком как "С" или FORTRAN. В некоторых вариантах осуществления настоящего изобретения узловые алгоритмы могут быть перенесены для работы в аморфных вычислительных системах посредством назначения частей алгоритма,функционирующего в компьютерном узле, одному или более аморфным аппаратным элементам. Как используется в настоящем документе, узловой алгоритм - это любая компьютерная программа, предназначенная для работы на ряде компьютерных узлов. Например, узловой алгоритм может включать в себя ряд узловых алгоритмических процессов, каждый из которых может быть назначен узлу и выполнен узлом в узловой вычислительной системе. Различные примеры узловых вычислительных систем и способов их использования представлены в заявке на патент США 10/434,723 (Номер дела поверенного No. 040079-000100US), озаглавленной "Системы и способы для обработки сложносоставных наборов данных", и поданной Кампом 8 мая 2003 г. Вышеупомянутая заявка на патент полностью включена в данный документ в качестве ссылки для всех целей. Используя пример построения сейсмического изображения, в котором предварительная обработка,фильтрация и построение изображения могли бы быть порождены в качестве ряда узловых алгоритмических процессов для вычисления на различных узлах, приложение может функционировать в аморфной вычислительной системе настоящего изобретения почти таким же образом, как оно функционирует в узловой системе до тех пор, пока оно не достигнет этапа, на котором оно распределяет данные различным компьютерным узлам. Эти компьютерные узлы могут быть функционально заменены аморфными аппаратными элементами с кодом, который функционировал на различных компьютерных узлах, адаптированным для работы на аморфных аппаратных элементах. Могут быть определены объекты связи для передачи данных от аморфных аппаратных элементов на универсальную ЭВМ. В одном варианте реализации память связана непосредственно с различными аморфными аппаратными элементами, а сейсмическое изображение создается в памяти. В одной отдельной конфигурации восемнадцать Гбайт памяти связано с аморфными аппаратными элементами. Данной системой может быть создано изображение размером восемнадцать Гбайт. Чтобы сформировать это выходное изображение, приблизительно терабайт данных может быть считано с диска и распределено аморфным аппаратным элементам для создания изображения размером восемнадцать Гбайт. Обратясь к фиг. 6, увидим, что блок-схема алгоритма показывает один способ реализации одного или более алгоритмов в соответствии с некоторыми вариантами осуществления настоящего изобретения. По блок-схеме 600 алгоритма вычислительная обработка инициализируется с использованием универсальной ЭВМ (этап 610). Эта операция может включать в себя, например, инициализацию файла выходного изображения для обработки сейсмического изображения, и чтение ряда сейсмических входных трасс. Из входных трасс (этап 620) может быть построен набор данных для обработки. Он может включать в себя разделение различных входных трасс на наборы для распределения отдельным аморфным аппаратным элементам.-9 008510 Один пример разделения или деления набора данных для обработки на аморфных аппаратных элементах проиллюстрирован на фиг. 7. Обратясь к фиг. 1, увидим, что местоположение 150 а приемника может в значительной степени полагаться на данные входной трассы от местоположения 120 а источника для выполнения надлежащих вычислений, в то время как на такое вычисление могут не влиять входные данные трассы из местоположения 120b источника. Аналогично, местоположение 150b приемника может в значительной степени полагаться на данные входной трассы от местоположения 120b источника для выполнения надлежащих вычислений, в то время как на такое вычисление могут не влиять входные данные трассы от местоположения 120 а источника. Таким образом, не существует большой необходимости или она отсутствует вовсе ни передавать входные данные трассы от местоположения 120 а источника узлу, вычисляющему выходную трассу для местоположения 150b приемника, ни передавать входные данные трассы от местоположения 120b источника узлу, вычисляющему выходную трассу для местоположения 150 а приемника. Соответствующим образом, набор данных (представленный всеми входными данными трассы, связанными с квадратами) может по мере необходимости быть отделен или разделен. Отделение или разделение может включать в себя распознавание групп трассовых выходов (представленных как круги внутри областей 722, 742), которые будут назначены аморфным аппаратным элементам. Например, в одном варианте осуществления данные трассы от датчиков в пределах определенного расстояния от местоположения могут быть назначены отдельному аморфному аппаратному элементу. Затем все входные данные трассы (опять, представленные квадратами), которые относятся к установленным узлам, собираются в секцию данных. Так например, для аморфных аппаратных элементов, представляющих данные внутри области 722, секция данных может включать в себя все входные данные трасс в области 732. Альтернативно, для аморфных аппаратных элементов, представляющих данные внутри области 742, секция данных может включать в себя все входные данные трасс в области 752. Эти соответствующие секции данных затем назначаются аморфным аппаратным элементам. В отдельных приложениях построения сейсмических изображений на аморфной вычислительной системе в соответствии с настоящим изобретением, приблизительно пятьсот сейсмических входных трасс могут быть загружены в каждую матрицу FPGA, которая в свою очередь поддерживает ряд аморфных аппаратных элементов. Возвращаясь к фиг. 6, увидим, что группа аппаратных вентилей в аморфном аппаратном элементе программируется или определяется, чтобы реализовать часть алгоритма построения сейсмического изображения (этап 630). Это может включать программирование групп аппаратных структур в FPGA, чтобы создать конвейер обработки данных, реализующий отдельные функции алгоритма построения сейсмического изображения. Так, в некоторых случаях, в отношении процессов этапа 630 для программированияFPGA могут использоваться известные в данной области техники способы. Затем определяют, остаются ли для программирования дополнительные части алгоритма построения сейсмического изображения(этап 640). Когда существует дополнительная часть, которую необходимо запрограммировать (этап 640),процессы этапа 630 повторяются. Так например, когда должна быть запрограммирована одна тысяча конвейеров, процессы этапов 630 и 640 выполняются всего тысячу раз - по одному разу для каждого из соответствующих конвейеров. В таких случаях алгоритм построения сейсмического изображения выполняется множеством конвейеров, причем все конвейеры выполняют один и тот же алгоритм и работают независимо друг от друга. С целью обсуждения каждый из этих соответствующих конвейеров может рассматриваться как "части алгоритма построения сейсмического изображения". Альтернативно, когда программирование выполнено (этап 640), запускается запрограммированный алгоритм построения сейсмического изображения (этап 650). Работа запрограммированного аморфного аппаратного элемента может включать в себя организацию доступа к выходным трассам из памяти, ассоциированной с аморфными аппаратными элементами, и загрузку выходных трасс во внутреннюю память аморфных аппаратных элементов. Когда микросхема загрузила набор выходных трасс во встроенную память, входные трассы сдвигаются и суммируются в выходную трассу. Так как каждый отсчет, который должен быть просуммирован в выходной трассе, может рассчитываться независимо от всех остальных отсчетов на выходной трассе, может быть достигнута высокая степень параллелизма. Основываясь на данном раскрытии,обычному специалисту в данной области техники должна быть очевидна вычислительная мощность, которая может быть достигнута при использовании систем и способов в соответствии с настоящим изобретением. Вышеупомянутое вычисление (этап 650) может быть, как один из примеров, миграцией Кирхгофа во временной области. Основной операцией миграции Кирхгофа является сдвиг, фильтрация и суммирование отсчета входной трассы в каждую выходную трассу, в которую он вносит вклад. Так что, если взять входную трассу из одной тысячи отсчетов, она будет просуммирована в выходную трассу из одной тысячи отсчетов. Это дает уравнение: output(k) = ourput(k) + input(time), где k - это целое число, которое изменяется от единицы до одной тысячи, и time - это некоторое значение с плавающей точкой, которое изменяется от нуля до длины трассы. Сложность алгоритма вытекает из факта, что сдвиг не будет задан в единицах, в которых выражен отсчет, то есть энергия в отсчете 10,75 может быть просуммирована в выходной отсчет 6,0. Таким образом, входные трассы необходимо интерполировать. Во-вторых, данный сдвиг изменяется по мере движения вдоль трассы, и фактически никакие из двух сдвигов отсчетов не- 10008510 являются в точности одинаковыми. Таким образом, в то время как отсчет 10,75 может быть просуммирован в выходной отсчет 6,0, отсчет 11,72 может быть просуммирован в выходной отсчет 7,0, а отсчет 12,68 может быть просуммирован в выходной отсчет 8,0. Увеличение выходного отсчета на единицу изменяет время входного значения на значение, отличное от единицы. Дополнительно, операция фильтрации теоретически также уникальна для каждого отсчета. Для данных по трассе, которые суммируются в выходной отсчет 10,0, может потребоваться фильтрация на 26 Гц, в то время как для данных, которые суммируются в выходной отсчет 11,0, может потребоваться фильтрация на 28 Гц. Очень вероятно, что не будет двух в точности одинаковых отсчетов. В существующих системах интерполировать каждый входной отсчет в точно такой входной отсчет, который необходим для суммирования в выходную трассу, слишком дорого. В существующих системах точная интерполяция заменена интерполированием полной входной трассы с восемью в качестве множителя и затем выбором наиболее близкой дроби, которая требуется. Так, если требуется отсчет 2,72, вместо него используется отсчет 2,625. Как будет очевидно, во время этого процесса вносится ошибка оценки. Аморфная вычислительная система в соответствии с настоящим изобретением может использоваться для получения точной интерполяции, таким образом, избегая вышеупомянутых ошибок оценки. Более конкретно, для каждого выходного отсчета из входной трассы рассчитывается время (число отсчета плюс дробь) с использованием двадцатиточечной sinc-функции, чтобы точно интерполировать входную трассу до требуемого дробного значения отсчета. Это выполняется как часть конвейера обработки данных, реализованного в аморфном аппаратном элементе. Более того, точная частота, на которой отсчет должен быть профильтрован, рассчитывается с использованием другого двадцатиточечного фильтра, реализованного в другой части конвейера обработки данных. Этот подход не только обеспечивает более точный ответ, но фактически является более простым. Это отчасти происходит благодаря использованию двадцатиточечных фильтров, что делает возможным использование легких комбинаций двух наборов коэффициентов в один двадцатиточечный фильтр, который будет применен к входной трассе. Для каждого входного измерения существует немного отличающийся набор коэффициентов, но двадцатиточечный фильтр может использоваться всегда. Примерный конвейер обработки данных на разных стадиях конвейера выполняет следующие функции, на которых: (А) интерполируют функцию скорости в точку изображения (также называемую выходным отсчетом), (В) вычисляют число входного отсчета и дробь, которая будет суммирована с точкой изображения (это является дополняющим числом отсчета), (С) фильтруют входную трассу, чтобы сформировать двадцать профильтрованных отсчетов, охватывающих дополняющее число отсчета; (D) интерполируют профильтрованные отсчеты к дополняющему числу отсчета, используя двадцатиточечныйsinc-фильтр и (Е) суммируют профильтрованный отсчет в выходной отсчет. Каждая из этих стадий обработки может занимать много тактов, причем весь конвейер обработки данных занимает сотни тактов. Пользователь (например, геофизик), реализующий процесс, предоставляет как часть входных данных модель скорости (или функцию скорости). Эта модель скорости предоставляет скорость звука в различных скальных слоях и/или других слоях в земле в области, где проводился сбор входных данных трассы. Эта скорость типично оценивается пользователем. В некоторых случаях оценка может итеративно уточняться, используя результаты от выполнения алгоритма миграции Кирхгофа. На вышеупомянутой стадии А конвейера обработки данных, данную модель скорости интерполируют к точке изображения, получая интерполированную скорость в точке изображения. Такая интерполяция может быть линейной интерполяцией между скоростями, поступившими из известных местоположений и местоположением точки изображения. Интерполированная функция скорости используется в функции F(Vrms, Ds,Dr), предназначенной для расчета времени входной трассы, которое соответствует требуемой точке изображения. В данной функции Vims - это интерполированная среднеквадратическая скорость звука в земле. Ds - это расстояние до источника (например, местоположения 120 а источника на фиг. 1) входной трассы от местоположения измерения (например, местоположения 150 а источника), а Dr - это расстояние до местоположения приемника (например, местоположения 120b источника на фиг. 1) от местоположения измерения (например, местоположения 150 а приемника). Ниже представлен один пример функцииsqrt[(DsDs)/(VrmsVrms)]+sqrt[(DrDr)/(VrmsVrms)] На основании предоставленного в данном документе раскрытия обычный специалист в данной области определит ряд других уравнений, которые могут использоваться для реализации функции F(Vrms,Ds, Dr). Входная трасса - это запись в местоположении датчика (то есть местоположение 120b источника на фиг. 1) в течение периода времени после того, как звуковая волна или взрыв были произведены в источнике (то есть в местоположении 120 а источника на фиг. 1). Входная трасса записывается в виде дискретных отсчетов при частоте выборки один отсчет/Dt миллисекунд, где Dt - это частота выборки. Чтобы выполнить алгоритм миграции Кирхгофа определяют, какие из этих дискретных отсчетов, включенных в состав входной трассы, вносят вклад в расчет точки изображения. Это определение выполняется на вышеупомянутой стадии В конвейера обработки данных, в которой реализуется следующая функция: число отсчетов=время/Dt.- 11008510 Это рассчитанное число отсчетов является значением с плавающей точкой и как таковое не соотносится точно ни с одним из дискретных отсчетов, включенных во входную трассу. Поэтому это "вещественное" число отсчетов должно интерполироваться из других "целых" чисел отсчетов во входной трассе. Эта интерполяция выполняется на последующей стадии конвейера обработки данных, описанной ниже. На стадии С конвейера обработки данных входную трассу фильтруют, чтобы получить двадцать отфильтрованных отсчетов, охватывающих вносящее вклад число отсчета, рассчитанное на предыдущей стадии В конвейера обработки данных. Эта сглаживающая (anti-aliasing) фильтрация удаляет ненадежные частотные компоненты, включенные во входную трассу. Расчет частоты фильтрации, выполняется посредством реализации функции F(Vrms, Sa, Sb). Далее приведен один из примеров такой функции:Dp=8sqrt[(SаXdistancespacingXdistancespacing)+ (SbYdistancespacingYdistancespacing),где Sa - это боковое расстояние в направлении х между входной трассой и точкой изображения, aSb - это расстояние в горизонтальном направлении у между входной трассой и точкой изображения, и где Хdistancespacing - это расстояние между строками входной трассы в измерении х иYdistancespacing - это расстояние между строками входной трассы в измерении y.Kp=DpDt/(VrmsTime), где Vrms - это интерполированная скорость, полученная на вышеупомянутой стадии А конвейера обработки данных, Time - это рассчитанное время входной трассы с вышеупомянутой стадии В конвейера обработки данных, которое вносит вклад в точку изображения, а Dt - это частота выборки входной трассы, типично измеряемая в миллисекундах. Частота фильтра = 512/(2DtKр) На основании этого раскрытия обычному специалисту в данной области техники будет очевидно,что могут быть реализованы другие функции, служащие функцией F(Vrms, Sa, Sb). Следующие ссылки предоставляют дополнительную информацию о сглаживающей фильтрации в отношении миграции Кирхгофа: Anti-aliased Kirchhoff 3-D migration, D. Lumley, John Claerbout, Stanford University, StanfordExploration Project pp. 1280-1285; and Frequency Selective design of the Kirchhoff migration operator, Gray,S.H. 1992, Geophysical Prospecting, 40, pp. 565-571. Обе вышеупомянутые ссылки были ранее включены в данный документ в качестве ссылки для любых целей. На основе рассчитанной частоты фильтра выполняется доступ к набору коэффициентов для фильтра высокой частоты. Эти коэффициенты предварительно рассчитываются программой перед обработкой какой-либо из входных трасс в обрабатывающем конвейере. Следующая функция, реализованная на коде С представляет собой пример одного способа расчета коэффициентов для фильтра Butterworth, который берет ряд полюсов и удостоверяется в том, что полюса четные. В данной функции для каждой пары полюсов определяются три коэффициента, и эти коэффициенты сохраняются вместе с полюсами.- 12008510 Фильтр, реализованный как часть стадии С конвейера обработки данных, затем используется для фильтрации группы отсчетов входной трассы, которая охватывает рассчитанное Число отсчета из стадии"В" конвейера обработки данных. В некоторых случаях для интерполяции используются двадцать отсчетов, охватывающих число отсчета. Таким образом, для интерполирования дробного числа отсчета используются двадцать отсчетов, десять отсчетов с каждой стороны Числа отсчета фильтруют, получая двадцать отсчетов входной трассы, отфильтрованные на требуемой частоте. В качестве примера, фильтрButterworth, основанный на описанных перед этим коэффициентах, может быть реализован как часть стадии С, чтобы выполнять фильтрацию. Следующая реализация примерного фильтра Butterworth на языке С, которая копирует отсчеты в выходную трассу для данного диапазона, выполняет цикл по идентифицированным полюсным парам, используя предварительно рассчитанные полюсные коэффициенты,и применяет фильтр. На основании предоставленного в данном документе раскрытия обычному специалисту в данной области техники будет очевиден ряд других технологий и/или реализации фильтрации,которые могут использоваться в соответствии с настоящим изобретением. Например, могла бы использоваться обычная свертка. На стадии D конвейера обработки данных двадцать фильтрованных отсчетов входной трассы со стадии С интерполируются посредством применения sinc-фильтра с двадцатью коэффициентами, чтобы определить дробное расстояние между рассчитанным отсчетом и рассчитанным отсчетом +1. Как и на предыдущей стадии выполняется предварительный расчет коэффициентов фильтра программой перед тем, как начнется обработка трассы. Итак, генерируется набор коэффициентов, которые допускают интерполяцию отсчета в пределах одной десятой Dt или частоты выборки. Чтобы это выполнить, генерируется десять наборов из двадцати коэффициентов. Далее следует примерная функция, написанная на коде"С" для получения коэффициентов, которые являются наилучшей аппроксимацией по методу наименьших квадратов идеального значения, полученного посредством решения симметричной системы Теплица для sinc-аппроксимации. Функция stoepd, вызываемая из приведенного выше участка программы, определена ниже, опять же в коде С. Как обсуждалось выше, эти функции приведены просто для примера и обычному специалисту в данной области техники будет очевиден ряд других функций и/или их реализации, которые могут использоваться в отношении настоящего изобретения. Из десяти наборов вычисленных коэффициентов используется ближайший к вычисленному дробному расстоянию между вычисленным отсчетом и вычисленным отсчетом +1. В результате вычисления скалярного произведения, используя двадцать профильтрованных отсчетов и двадцать коэффициентов,получают один отсчет, который представляет собой интерполированный отсчет между вычисленным отсчетом и вычисленным отсчетом +1. Ниже приведена примерная реализация этой функции на коде С,разработанная для ситуаций, когда дробные расстояния неравномерны. Затем на стадии Е конвейера обработки данных отфильтрованный и интерполированный отсчет добавляется к выходной трассе в точке изображения. Необходимо заметить, что предшествующее обсуждение включало в себя примеры фильтров, которые, как поймет обычный специалист в данной области техники, могли бы быть заменены другими типами фильтров. Так, например, обсуждавшиеся фильтры были двадцатиточечными фильтрами, но их можно было бы заменить на пятнадцатиточечные фильтры или фильтры какой-либо другой длины. Использование подобного другого фильтра, тем не менее, соответствовало бы настоящему изобретению, область которого изложена ниже в формуле изобретения. Конечно-разностное волновое уравнение является другим примером алгоритма, который может быть реализован с использованием систем и способов настоящего изобретения. Подобное уравнение требует во много раз большего объема вычислений, чем алгоритм Кирхгофа, и как следствие, оно редко используется в неупрощенной форме. Если бы его можно было использовать в неупрощенной форме, с его помощью можно было бы получать изображения, намного превосходящие те, что получают алгоритмом Кирхгофа. В предшествующем уровне техники наибольшее упрощение, применяемое к волновому уравнению, касалось ограничения частотного спектра результата до величины менее двадцати Герц, и максимальные отображаемые углы падения типично ограничивались величиной менее двадцати пяти градусов. Было бы желательно изображать частоты, большие, чем пятьдесят Герц, и углы падения, большие, чем семьдесят градусов. Кроме того, как сейчас реализовано, данные мигрируют в частотной области, что создает другие упрощения. В частности, миграция в частотной области означает, что данные некоторым- 14008510 образом упорядочивают, чтобы подготовить их для многомерного преобразование Фурье. Это упорядочивание в определенной степени ухудшает входные данные. Используя системы и способы настоящего изобретения, волновое уравнение может быть реализовано без необходимых ранее упрощений. Увеличенная мощность обработки, предложенная в различных вариантах осуществления настоящего изобретения, делает возможной реализацию конечно-разностного волнового уравнения во области времени/глубины, а не в частотной области. Более того, благодаря реализации в области времени/глубины могут выводиться подборки смещений (offset gathers), и могут строиться изображения, использующие более высокие частоты и более крутые углы падения. Общий процесс реализации волновых уравнений с использованием систем настоящего изобретения похож на процесс, описанный в отношении алгоритма Кирхгофа. Принципиальная разница состоит в деталях конвейера обработки данных. Для волнового уравнения примерный конвейер обработки данных включает в себя следующие стадии, описанные как циклы. Внешний цикл по выходным местоположениям сетки z (глубина). Центральный цикл по выходным местоположениям сетки х. Внутренний цикл по выходным местоположениям сетки у. Обновление дифференцирующих уравнений. Решатель тридиагональной матрицы. Коррекция тонкой линзы (вертикальное смещение для изменения градиента скорости). Конец всех трех циклов. Обновление выходных трасс изображения. Так как волновое уравнение - это функция пересчета вниз, выходной цикл - это цикл по приращениям глубины. Этой циклической реализацией можно достигнуть большого количества уровней параллелизма, и может быть реализовано множество конвейеров обработки данных с использованием аморфных аппаратных элементов, подобных тем, что обсуждались в отношении алгоритма Кирхгофа. Каждый из конвейеров обработки данных отображает входную трассу в набор выходных трасс. Затем, большая степень параллелизма может быть достигнута в решателе тридиагональной матрицы, так что один решатель сам может быть разветвлен на много мини-конвейеров. Эти параллельные конвейеры обработки данных могут быть реализованы в ряде аморфных аппаратных элементов в одной FPGA или среди множества матриц FPGA. Примерный конвейер обработки данных, разработанный для реализации конечного волнового уравнения может включать в себя для каждой координаты из х, у, z: (А) обновление дифференциальных уравнений, (В) тридиагональный решатель, (С) тонкую настройку линзы и (D) суммирование всех продуктов входной трассы в выходную матрицу сетки. Каждая из этих стадий может включать в себя много тактов, и весь конвейер обработки данных может включать в себя сотни тактов. На стадии А функцию F(Dx, Dy, Dz, Vint, Dt, Data) настраивают, чтобы создавать систему уравнений. В функции Dx, Dy и Dz - это расстояния между ячейками решетки в направлениях соответствующих координат. Vint - это модель интервальных скоростей, Dt - это снова дискретизация по времени входной трассы, a Data - данные действительной входной трассы. Код примера может быть получен из "Claerbout,Imagining the Earth's Interior", стр. 136. Вышеупомянутая ссылка полностью включена (не ограничиваясь стр. 136) в данный документ в качестве ссылки для любых целей. Данная система уравнений с граничными условиями образует тридиагональную матрицу. На стадии В находят решение данной тридиагональной матрицы, получая набор значений, который представляет вклад этой входной трассы в сетку изображения х,у,z. Затем выполняют фильтрацию этих значений на основе функции F(Vint, Ds, Dr), чтобы избежать проявления зеркальных частот подобно тем,что обсуждались выше в отношении алгоритма Кирхгофа. На стадии С термин "тонкая линза" используется для обозначения градиента скорости в горизонтальном направлении, используя функцию F(V(x,y,z),Dz). Подобная функция более полно описана на странице 137 в "Claerbout, Imaging the Earth's Interior",стр. 137. Это скорректированное значение затем суммируется в выходную матрицу на стадии D. В некоторых случаях вся обработка выполняется посредством программирования аморфных аппаратных элементов один раз, как описывалось ранее. В других случаях обработка выполняется на множестве стадий, в которых, например, аморфный аппаратный элемент программируют для выполнения одной функции, затем впоследствии перепрограммируют для выполнения другой функции. Такой подход описан в отношении этапов 650-680 на фиг. 6. Результаты от одного запрограммированного вычисления могут быть приняты универсальной ЭВМ (этап 650). Аморфные аппаратные элементы можно затем перепрограммировать, чтобы выполнить другое вычисление (этап 660), а результаты этого вычисления могут также быть приняты (этап 670). Результаты различных вычислений могут затем быть собраны, чтобы сформировать окончательный результат (этап 680). Основываясь на представленном в данном документе раскрытии, обычному специалисту в данной области техники будет очевидно многообразие других способов и/или алгоритмов, к которым могут применяться аморфные вычислительные системы в соответствии с настоящим изобретением. Например,некоторые аморфные аппаратные элементы могут быть запрограммированы выполнять один алгоритм, в то время как остальные могут быть запрограммированы выполнять другой алгоритм параллельно с пер- 15008510 вым алгоритмом. Результаты первого алгоритма могут затем применяться к аморфным аппаратным элементам, запрограммированным осуществлять еще один алгоритм. Как будет очевидно обычному специалисту в данной области техники, степень достижимого параллелизма значительна по сравнению с микропроцессором общего назначения. В то время как универсальный процессор предлагает некоторую степень параллелизма посредством многоконвейерных архитектур,суперскалярных архитектур и т.п., они являются по существу последовательными устройствами по сравнению с системами настоящего изобретения, В некоторых случаях множество универсальных микропроцессоров могут быть установлены параллельно, однако, это влечет большую неэффективность, так как микропроцессоры оказываются неиспользуемыми, а показатели совместного использования памяти, связанные с такими параллельными системами, могут служить ограничителями. В качестве одного из примеров настоящего изобретения каждый входной отсчет может быть интерполирован, профильтрован, взвешен и просуммирован в пятьсот тысяч выходных отсчетов. Каждый этап этого процесса уникален для каждого входного отсчета. В универсальном микропроцессоре требуется около пятидесяти тактов на кристалле с частотой два гигагерца, чтобы получить один входной отсчет посредством процесса интерполяции. Чтобы увеличить пропускную способность, устанавливают около двухсот компьютеров, каждый из которых включает в себя два универсальных микропроцессора, чтобы обеспечить около четырех миллиардов выходных сигналов в секунду. В отличие от них, на аморфных вычислительных системах в соответствии с настоящим изобретением, в которых аморфный аппаратный элемент включает в себя 0,5 МБайт памяти, в аморфный вычислительный элемент загружается приблизительно пятьсот входных трасс, а выходные данные посылаются в память объемом восемнадцать гигабайт, соединенную с возможностью обмена данными с аморфными аппаратными элементами. Каждый из аморфных аппаратных элементов программируют конвейером,специально разработанным для поддержки интерполяции, фильтрации, взвешивания и суммирования входных трасс в выходные трассы. Используя такой подход, каждая входная трасса может быть сформирована в выходную трассу за каждый такт аморфного вычислительного элемента. Так, например, для каждого выходного отсчета мы запускаем конвейер на одной из входных трасс. Когда и входные трассы, и выходные трассы содержат по пятьсот отсчетов каждая, процесс выполняется,как изложено ниже: (А) входную трассу 1 суммируют в отсчет один выходной трассы 1; (В) входную трассу 2 суммируют в отсчет два выходной трассы 2; (С) входную трассу 3 суммируют в отсчет три выходной трассы 1(D) входную трассу 500 суммируют в отсчет пятьсот выходной трассы 1, (Е) входную трассу 1 суммируют в отсчет 1 выходной трассы 2(F) входную трассу 400 суммируют в отсчет пятьсот выходной трассы 400. Во время данного процесса все конвейеры, запрограммированные в аморфных вычислительных элементах, переходят к следующему выходному отсчету на следующем такте, пока все конвейеры не просуммируют все входные трассы в соответствующие им отсчеты. Так, в этом примере, тысяча вычислительных конвейеров запрограммирована в соответствующих аморфных аппаратных элементах в FPGA. При запуске несколько сотен тактов тратится на настройкуFPGS для выполнения вычислений, после чего может генерироваться по одному результату на каждый такт. Входные трассы помещаются во встроенную память FPGA и суммируются во многие Гбайты выходных трасс. Всякий раз, когда входные трассы суммируются в выходную трассу, предшествующие выходные трассы сохраняются обратно в основную память, а следующие выходные трассы извлекаются из основной памяти в аморфный аппаратный элемент. Чтобы обеспечить постоянную работу конвейеров может быть реализована простая схема двойной буферизации. После того как в результате суммирования всех пятисот входных трасс были получены полные восемнадцать Гбайт выходного объема, извлекается следующий набор входных трасс и процесс продолжается. При использовании такого типа конструкции в аморфном аппаратном элементе, работающем с частотой сто мегагерц, за каждый такт может формироваться тысяча результатов. Результатом этого является сто миллиардов результатов в секунду в одной FPGA. Таким образом, когда для параллельной работы программируется десять матриц FPGA, может быть достигнут один (1) триллион результатов в секунду(или более при использовании аморфных аппаратных элементов более быстрых, большего размера или в большем количестве). Это составляет приблизительно 250 раз от производительности системы, созданной с использованием кластера из двухсот ПЭВМ, описанного в вышеупомянутом примере. На фиг. 8 увидим, что описаны процессы, связанные с поддержкой переменной длины трасс в соответствии с некоторыми вариантами осуществления настоящего изобретения. В отличие от универсальной ЭВМ, которая типично использует для реализации переменной длины трассы некоторую форму цикла "FOR", некоторые варианты осуществления настоящего изобретения используют матрицы FPGA с предустановленными длинами трассы, непосредственно отображаемые на аморфные аппаратные элементы в данном устройстве. Такие матрицы FPGA являются недостаточно гибкими для того, чтобы приспособить их к различным длинам трасс в рамках одного и того же непосредственного отображения. Так,если функция реализована поддерживать одну тысячу отсчетов, данное отображение будет работать только для длины трассы в одну тысячу отсчетов. В некоторых вариантах осуществления настоящего изобретения такая функция для однотысячной трассы может быть расширена для работы с длинами трасс в одну тысячу или менее путем дополнения трассы нулевыми данными или нулями до границы- 16008510 однотысячной трассы. Так, например, когда заданная трасса состоит из девятисот отсчетов, отсчеты от девятисот первого до тысячного заполняются нулевыми данными, чтобы составить длину трассы, совместимую с функцией. Данный подход не позволяет приспосабливать функции к трассам, длина которых больше длины в одну тысячу. Более того, подобный подход впустую расходует площадь на FPGA,реализуя конвейеры обработки данных, которые работают на нулевых данных. Таким образом, в некоторых вариантах осуществления реализовано множество функций переменной длины. Из них выбирается наиболее подходящая функция, которая может быть приспособлена к конкретной длине трассы, и в то же время минимизирует объем бесполезно расходуемой площади на FPGA. В одном отдельном варианте осуществления функции - это функции на основе VIVA, которые выполняются и поддерживаются в виде повторно-используемой библиотеки. Каждая из функций реализует один и тот же алгоритм, но каждая модифицируется для приспособления к различной длине трассы. Подобные длины трасс могут составлять 500, 600, 700, 800, 900, 1000, 1100, 1200 и т.п. Необходимо понимать, что может быть создано любое другое количество функций в зависимости от объема пространства, которое будет использоваться для размещения функций и желания пожертвовать пространством матрицы FPGA. Так в предельном случае может быть сформирована функция для обработки каждого приращения длины трассы, как, например, 1000, 1001, 1002 и т.п. Каждая из данных функций затем идентифицируется по имени, в котором указана длина функции для обработки, такому как, например,KirchhoffLength1000. Различные функции могут быть затем скомпилированы вместе, и во время выполнения универсальная ЭВМ, ответственная за программирование различных матриц FPGA, может выбрать соответствующую функцию основываясь, отчасти, на требуемой длине трассы. Таким образом,ограничение непосредственного отображения, связанное с использованием аморфных аппаратных элементов, может быть скрыто от конечного пользователя путем создания отдельного конструктивного решения для каждого приращения длины трассы, которое должно поддерживаться. Фиг. 8 включает в себя блок-схему 800 алгоритма, которая иллюстрирует процесс в соответствии с вариантами осуществления настоящего изобретения для создания функций, которые могут быть реализованы на аморфных аппаратных элементах и могут вмещать трассы различной длины. Следуя блоксхеме алгоритма 800, выбирают (этап 810) длину х первой трассы. Эта длина х трассы определяет функцию с наименьшей длиной трассы, которая должна быть создана. Для данной длины трассы затем создают функцию (этап 820) и данной функции присваивают имя, чтобы указать длину трассы (этап 830). Затем определяют, равна ли длина трассы требуемой максимальной длине трассы или она больше ее (этап 840). Если установлено, что длина трассы меньше требуемой максимальной длины трассы (этап 840),длина трассы увеличивается на шаг трассы у (этап 850), а этапы 820, 830 и 840 выполняются повторно для увеличенной длины трассы. Альтернативно, когда установлено, что длина трассы больше или равна требуемой максимальной длине трассы (этап 840), все функции, созданные к этому времени, компилируют вместе (этап 860) и сохраняют исполняемые функции в базе данных (этап 870). Обращаясь к фиг. 8b, блок-схема алгоритма 801 иллюстрирует процесс, который использует описанные ранее функции для многих длин, чтобы реализовать алгоритм функции, примененный к конкретной длине трассы. По блок-схеме алгоритма 801 выполняется доступ к входной трассе и/или съемке входных трасс (этап 811). Может быть определена длина данной входной трассы (этап 821), или в случае,когда все входные трассы в данной съемке имеют одинаковую длину, может быть определена длина всех трасс. Выполняют доступ к базе данных, включающей в себя различные функции для многих длин (этап 831), и идентифицируют одну из функций, которая на приращение больше, чем длина трассы, определенная перед этим. Так, например, когда длина трассы определена равной 1021, а доступные функции это Functionlength900, Functionlength1000, Functionlength1100 и Functionlength1200, выбранной функцией является Functionlength1100. Выполняют доступ к идентифицированной функции (этап 851) и программируют один или более аморфных аппаратных элементов для выполнения данной функции (этап 861). Затем выполняют доступ к входным трассам (этап 871) и дополняют входные трассы нулевыми данными таким образом, что длина входной трассы становится равной длине выбранной функции. Так, в предыдущем примере к каждой входной трассе будет добавлено семьдесят девять нулей. Эти дополненные входные трассы затем подают на аморфные аппаратные элементы, запрограммированные выполнять выбранную функцию над входными трассами (этап 891). Итак, изобретение было подробно описано с целью ясности и понимания. Однако должно быть очевидно, что могут осуществляться определенные изменения и модификации в пределах объема приложенной формулы изобретения. Например, необходимо понимать, что настоящее изобретение может использоваться в отношении ряда алгоритмов и/или вариаций алгоритмов. Например, настоящее изобретение может использоваться в отношении непросуммированной миграции по Кирхгофу во временной области и непросуммированной глубинной миграции по Кирхгофу, которые обе являются вариациями одного и того же основного алгоритма. Разница между вышеупомянутыми вариациями заключается в функции, которая рассчитывает вносящее вклад время входной трассы. В непросуммированной миграции по Кирхгофу во временной области оно рассчитывается с использованием примерной ранее описанной функции, а в непросуммированной глубинной миграции по Кирхгофу используется набор таблиц,- 17008510 который может быть рассчитан с использованием программы, называемой генератором кинематических данных (трассировщик лучей в одном определенном случае). Данная программа генерирует файл на диске с временами, относящимися к комбинациям источник/приемник. Миграция затем считывает эти таблицы, чтобы получить время входной трассы вместо того, чтобы использовать другие части вышеупомянутой функции. Таким образом, необходимо понимать, что в соответствии с настоящим изобретением возможно создание множества других систем, функций, способов и из комбинаций. Так, хотя изобретение описано со ссылкой на определенные варианты осуществления и их чертежи, варианты осуществления и чертежи являются всего лишь иллюстративными и не ограничивают изобретение. Вернее, рамки изобретения должны устанавливаться исключительно приложенной формулой изобретения. ФОРМУЛА ИЗОБРЕТЕНИЯ 1. Аморфная вычислительная система для расчета сейсмических изображений, причем система состоит из первого аморфного аппаратного элемента; вычислительного процессора, соединенного с возможностью взаимодействия с аморфным аппаратным элементом и с машиночитаемым носителем, причем машиночитаемый носитель включает в себя инструкции, исполняемые вычислительным процессором, которые позволяют определять первое множество аппаратных вентилей внутри аморфного аппаратного элемента для формирования первого конвейера обработки данных, при этом первый конвейер обработки данных может обновлять первую точку сейсмического изображения; и определять второе множество аппаратных вентилей внутри аморфного аппаратного элемента для формирования второго конвейера обработки данных, при этом второй конвейер обработки данных может обновлять вторую точку сейсмического изображения независимо от первого конвейера обработки данных. 2. Система по п.1, в которой машиночитаемый носитель дополнительно включает в себя набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, и набор коэффициентов для sinc-фильтра. 3. Система по п.2, в которой первый конвейер обработки данных и второй конвейер обработки данных включают в себя функции, которые могут осуществлять по меньшей мере некоторые элементы алгоритма Кирхгофа, и в котором функции включают в себя первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения; вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных,которая вносит вклад в точку изображения; третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных; четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты; пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения. 4. Система по п.1, в которой первый конвейер обработки данных и второй конвейер обработки данных включают в себя функции, которые могут осуществлять, по меньшей мере, некоторые элементы алгоритма волнового уравнения, и при этом функции включают в себя функцию обновления, причем функция обновления создает систему уравнений, которая будет распределять энергию от трассы данных к набору точек выходного изображения, расположенных на координатной сетке х, у, z; функцию тридиагонального решателя, причем функция тридиагонального решателя решает набор совместных функций; и функцию коррекции тонкой линзы, причем функция коррекции тонкой линзы компенсирует градиент скорости в горизонтальном направлении. 5. Система по п.1, в которой аморфный аппаратный элемент содержит первую программируемую вентильную матрицу, причем система дополнительно содержит вторую программируемую вентильную матрицу, соединенную с возможностью взаимодействия с процессором ЭВМ, причем машиночитаемый носитель дополнительно включает в себя инструкции, выполняемые процессором ЭВМ, чтобы определять третье множество аппаратных вентилей внутри второй программируемой вентильной матрицы для формирования третьего конвейера обработки данных, причем третий конвейер обработки данных может- 18008510 обновлять третью точку сейсмического изображения независимо от первого конвейера обработки данных и второго конвейера обработки данных. 6. Система по п.1, в которой аморфный аппаратный элемент содержит программируемую вентильную матрицу, и в которой процессор ЭВМ содержит процессор ЭВМ с сокращенным набором команд. 7. Система для реализации алгоритма Кирхгофа, причем система содержит программируемую вентильную матрицу; процессор ЭВМ, соединенный с возможностью взаимодействия с программируемой вентильной матрицей и с машиночитаемым носителем, причем машиночитаемый носитель включает в себя набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, набор коэффициентов для sinc-фильтра, и инструкции, выполняемые процессором ЭВМ, для того чтобы определять первое множество аппаратных вентилей внутри программируемой вентильной матрицы для формирования первого конвейера обработки данных, причем первый конвейер обработки данных может обновлять первую точку сейсмического изображения, и при этом первый конвейер обработки данных реализует следующие функции: первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения; вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных,которое вносит вклад в точку изображения; третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных; четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты; пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения; определять второе множество аппаратных вентилей внутри программируемой вентильной матрицы для формирования второго конвейера обработки данных, причем второй конвейер обработки данных может обновлять вторую точку сейсмического изображения независимо от первого конвейера обработки данных, и при этом второй конвейер обработки данных реализует следующие функции: первую функцию, причем первая функция интерполирует функцию скорости для расчета скорости в точке изображения; вторую функцию, причем вторая функция использует скорость для расчета времени трассы данных,которое вносит вклад в точку изображения; третью функцию, причем третья функция использует время трассы данных для расчета действительного числа отсчетов трассы данных, и при этом действительное число отсчетов трассы данных является дробным смещением от целого числа отсчетов трассы данных; четвертую функцию, причем четвертая функция фильтрует множество целых чисел отсчетов трассы данных, которые охватывают действительное число отсчетов трассы данных, используя набор коэффициентов для фильтра высокой частоты; пятую функцию, причем пятая функция использует набор коэффициентов для sinc-фильтра, чтобы интерполировать отфильтрованное множество целых чисел отсчетов в действительное число отсчетов; и шестую функцию, причем шестая функция суммирует выходные данные пятой функции в выходную трассу в точке изображения. 8. Способ расчета множества сейсмических выходных трасс из множества сейсмических входных трасс, причем способ содержит этапы, на которых разделяют входные трассы на множество наборов входных трасс; программируют группы аппаратных вентилей внутри аморфного аппаратного элемента, причем каждая группа запрограммированных аппаратных вентилей содержит отдельный конвейер обработки данных, реализующий по меньшей мере часть алгоритма построения сейсмических изображений; и управляют аморфным аппаратным элементом таким образом, чтобы перерабатывать по меньшей мере часть множества наборов входных трасс посредством конвейеров обработки данных по меньшей мере в часть множества выходных трасс. 9. Способ по п.8, который дополнительно содержит этапы, на которых инициализируют файл выходного изображения в памяти, связанной с аморфным аппаратным элементом, причем файл выходного изображения содержит множество выходных трасс; и считывают множество входных трасс в память, связанную с аморфным аппаратным элементом. 10. Способ по п.9, в котором на упомянутых этапах инициализации и считывания файл выходного изображения инициализируется в памяти, внешней по отношению к аморфному аппаратному элементу, а множество входных трасс считывается во внутреннюю память аморфного аппаратного элемента.- 19008510 11. Способ по п.8, в котором упомянутый этап разделения содержит этапы, на которых идентифицируют группы выходных трасс; ассоциируют каждую группу выходных трасс с группой аппаратных вентилей, содержащих один из конвейеров обработки данных; собирают входные трассы, относящиеся к каждой группе выходных трасс, в наборы входных трасс; и назначают каждый набор входных трасс обрабатывающему контейнеру, содержащему группу аппаратных вентилей, ассоциированных с группой выходных трасс, к которым относится каждый из наборов входных трасс. 12. Способ по п.8, в котором по меньшей мере часть алгоритма построения сейсмических изображений включает в себя элементы алгоритма Кирхгофа. 13. Способ по п.12, причем способ дополнительно содержит этап, на котором генерируют набор коэффициентов для фильтра высокой частоты, соответствующих пороговой частоте шума, и набор коэффициентов sinc-фильтра. 14. Способ по п.13, в котором на упомянутом этапе генерации и фильтр высокой частоты и sincфильтр включают в себя по меньшей мере двадцать точек. 15. Способ по п.13, в котором для каждого конвейера обработки данных упомянутый этап управления содержит этапы, на которых интерполируют функцию скорости, чтобы рассчитать скорость в точке изображения; используют скорость для расчета времени входной трассы, которая вносит вклад в точку изображения; вычисляют действительное число отсчетов входной трассы, используя время входной трассы, причем действительное число отсчетов входной трассы содержит дробное смещение от целого числа отсчетов входной трассы; фильтруют множество целых чисел отсчетов входной трассы, которые охватывают действительное число отсчетов входной трассы, используя набор коэффициентов фильтра высокой частоты; используют набор коэффициентов для sinc-фильтра, чтобы интерполировать множество целых чисел отсчетов, отфильтрованных по высокой частоте, в действительное число отсчетов; и суммируют выходные данные sinc-фильтра в выходную трассу в точке изображения. 16. Способ по п.8, в котором по меньшей мере часть алгоритма построения сейсмических изображений включает в себя элементы алгоритма волнового уравнения. 17. Способ по п.16, в котором для каждого конвейера обработки данных упомянутый этап управления содержит этапы, на которых создают систему уравнений, которая распределяет энергию от входной трассы к набору выходных точек изображения, расположенных на координатной сетке х, у, z, причем система уравнений с граничными условиями содержит тридиагональную матрицу; решают тридиагональную матрицу, чтобы получить набор значений, представляющих вклад входной трассы в набор точек выходного изображения; применяют коррекцию тонкой линзы, компенсирующую градиент скорости в горизонтальном направлении в наборе значений, чтобы получить скорректированное значение; и суммируют скорректированное значение в выходную трассу. 18. Способ по п.8, в котором на упомянутом этапе программирования аппаратных вентилей в аморфном аппаратном элементе первую группу аппаратных вентилей в аморфном аппаратном элементе программируют, чтобы сформировать первый конвейер обработки данных, а вторую группу аппаратных вентилей в аморфном аппаратном элементе программируют, чтобы сформировать второй конвейер обработки данных. 19. Способ по п.18, в котором на упомянутом этапе управления аморфным аппаратным элементом первый конвейер обработки данных обновляет первую точку сейсмического изображения, а второй конвейер обработки данных обновляет вторую точку сейсмического изображения. 20. Способ по п.19, в котором на упомянутом этапе управления аморфным аппаратным элементом первый конвейер обработки данных работает независимо от второго конвейера обработки данных. 21. Способ по п.8, в котором аморфный аппаратный элемент содержит программируемую вентильную матрицу, соединенную с возможностью взаимодействия с процессором универсальной ЭВМ. 22. Способ по п.21, в котором процессор универсальной ЭВМ содержит процессор ЭВМ с сокращенным набором команд. 23. Способ по п.8, в котором на упомянутом этапе управления аморфным аппаратным элементом каждый из конвейеров обработки данных может обновлять точку сейсмического изображения параллельно с другими конвейерами обработки данных. 24. Способ по п.8, дополнительно содержащий этапы, на которых программируют группы аппаратных вентилей внутри по меньшей мере одного дополнительного аморфного аппаратного элемента, причем каждая группа аппаратных вентилей содержит отдельные кон- 20008510 вейеры обработки данных, реализующие по меньшей мере часть алгоритма построения сейсмических изображений; и управляют по меньшей мере одним дополнительным аморфным аппаратным элементом, чтобы перерабатывать по меньшей мере часть наборов входных трасс по меньшей мере в часть выходных трасс. 25. Способ по п.24, в котором аморфные аппаратные элементы содержат программируемые вентильные матрицы, соединенные с возможностью взаимодействия с процессором универсальной ЭВМ. 26. Способ по п.25, в котором процессор универсальной ЭВМ содержит процессор ЭВМ с сокращенным набором команд.

МПК / Метки

МПК: G06F 19/00

Метки: аморфной, использованием, геофизических, вычислительной, способы, обработки, системы, изображений, построения

Код ссылки

<a href="https://eas.patents.su/26-8510-sistemy-i-sposoby-postroeniya-geofizicheskih-izobrazhenijj-s-ispolzovaniem-amorfnojj-vychislitelnojj-obrabotki.html" rel="bookmark" title="База патентов Евразийского Союза">Системы и способы построения геофизических изображений с использованием аморфной вычислительной обработки</a>

Похожие патенты