Ну вообще то что я делаю с FPGA - это больше академический интерес. Я хотел бы включить это в свой диссер.
Хочу сделать процессор для рейтрейсинга) Суть идеи в том, что можно было бы большую часть функциональности реализовать программно, а то, что занимает много времени - аппаратно, в виде отдельных юнитов.
Вообще я думаю что так можно было бы ускорять не только рейтрейсинг.
Для начала я хочу приделать к процессору юнит, который будет считать аппаратно пересечение луча и треугольника - то есть в среднем за один такт.
И посмотреть насколько эффективно можно ускорить таким образом работу алгоритма.
Мультипроцессор с эффективными операциями FPU мне нужен потому что помимо подсчета пересечений остальные вычисления тоже довольно тяжелые.
Если процессор держит на себе скажем 16 потоков одновременно то даже если длинна конвейера 16, то никаих хазардов не будет и перформанс будет 100 MFlops на 100Mhz именно из-за того, что нет зависимостей по данным.
Если я буду использовать Nios 2 то во-первых, производительность окажется совсем на нуле, а во-вторых мое сравнение будет не совсем верным.
Чтобы процессор не простаивал во время подсчета пересечений мне нужно как можно больше потоков на него повесить. Просто одно поточный CPU это не совсем не то что мне нужно.
Я хотел бы показать, насколько можно поднять перформанс в трассировке лучей, добавив спец. фукнц. юниты. То есть я буду сравнивать производительность просто мультипроцессора без этого юнита и с ним.
Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная.
Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне.