LINUX.ORG.RU

История изменений

Исправление Kosyak, (текущая версия) :

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

0) Дана двумерная сетка (одномерный массив, двумерный массив, как хочешь), (10k * 10k). В каждой точке есть три переменных: p, q, v и две константы: D и h (это шаг сетки). Плюс глобальная константа \tau.

1.5e9*4*3*2 - это уже 30+гигов в секунду - ты уже где-то пробалаболил. Расскажи мне как ты читаешь и записываешь по 18гигов/с.

Да, тут я налажал (+ там ещё фишечка с PCIe есть по поводу D и h).

Итак, есть дуплексный канал на 12.8 GB/s (далеко не один контроллер DDR3 у меня, да. Это тебе не ноутбук с атомом), 5 входов, 3 выхода. Дальше можно всячески развлекатся, но в пределе у нас 26.6/8=~порядка 800 Мегаточек/с. И это все равно дохрена, но ты так и не смог посчитать производительность на x86(_64), поэтому не можешь понять.

Итак, 800 МТ/c это, например 8 конвейеров по 100 МГц или 5 по 160 MHz (зависит от скорости FPGA, контрольный вопрос: что лучше и почему?). И дальше ты опять смачно обосрался.

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

«8гигов флоап/16гигов дабл х86 выдаёт 40гигов» <- что это за хрень? Считать учись. Я тебе уже намекал про флопсы но ты опять не понимаешь. Последний шанс:

У меня в одном конвейере ~60 блоков арифметики (для знатоков x86 - это такой FPU для двух чисел с фиксированной операцией). Они работают, все параллельно и считают результат за такт (конвейерно, естественно). Итого в операциях над числами с плавающей запятой в секунду, весь вычислитель - 100000000 (100 MHz, ага) * 60 (кол-во блоков) * 8 (кол-во конвейров) = 48 Гигафлопс. Неплохо, вроде x86 обогнали. А вот во втором случае 160000000 * 60 * 5 = 48 Гигафлопс. Тоже норм. А теперь я пооптимизировал и упростил конвейер - убрал пару лишних операций, при этом считается тоже самое. 160000000 * 55 * 5 = 44 Гигафлопс. Так итоговая скорость обработки точек вроде такая же (800 МТ/c), расскажи мне, знаток вычислительных систем, в чем фишка?

Только для говна - это гуглится за 5минут для доисторического говна.

Знаток x86 и x86_64 во всей красе, нагуглил что такое P4 и NetBurst.

Так почему Pentium 4 сливал Pentium 3 и сливает современным?

Ты получил скорость банального х86.

Расчеты производительности предоставь для моей задачи на x86. Сколько Мегаточек/c?

Исправление Kosyak, :

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

0) Дана двумерная сетка (одномерный массив, двумерный массив, как хочешь), (10k * 10k). В каждой точке есть три переменных: p, q, v и две константы: D и h (это шаг сетки). Плюс глобальная константа \tau.

1.5e9*4*3*2 - это уже 30+гигов в секунду - ты уже где-то пробалаболил. Расскажи мне как ты читаешь и записываешь по 18гигов/с.

Да, тут я налажал (+ там ещё фишечка с PCIe есть по поводу D и h).

Итак, есть дуплексный канал на 12.8 GB/s (далеко не один контроллер DDR3 у меня, да. Это тебе не ноутбук с атомом), 5 входов, 3 выхода. Дальше можно всячески развлекатся, но в пределе у нас 26.6/8=~порядка 800 Мегаточек/с. И это все равно дохрена, но ты так и не смог посчитать производительность на x86(_64), поэтому не можешь понять.

Итак, 800 МТ/c это, например 8 конвейеров по 100 МГц или 5 по 160 MHz (зависит от скорости FPGA, контрольный вопрос: что лучше и почему?). И дальше ты опять смачно обосрался.

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

«8гигов флоап/16гигов дабл х86 выдаёт 40гигов» <- что это за хрень? Считать учись. Я тебе уже намекал про флопсы но ты опять не понимаешь. Последний шанс:

У меня в одном конвейере ~60 блоков арифметики (для знатоков x86 - это такой FPU для двух чисел с фиксированной операцией). Они работают, все параллельно и считают результат за такт (конвейерно, естественно). Итого в операциях над числами с плавающей запятой в секунду, весь вычислитель - 100000000 (100 MHz, ага) * 60 (кол-во блоков) * 8 (кол-во конвейров) = 48 Гигафлопс. Неплохо, вроде x86 обогнали. А вот во втором случае 160000000 * 60 * 5 = 48 Гигафлопс. Тоже норм. А теперь я пооптимизировал и упростил - убрал пару операций, при этом считаю тоже самое 160000000 * 55 * 5 = 44 Гигафлопс. Так итоговая скорость обработки точек вроде такая же (800 МТ/c), расскажи мне, знаток вычислительных систем, в чем фишка?

Только для говна - это гуглится за 5минут для доисторического говна.

Знаток x86 и x86_64 во всей красе, нагуглил что такое P4 и NetBurst.

Так почему Pentium 4 сливал Pentium 3 и сливает современным?

Ты получил скорость банального х86.

Расчеты производительности предоставь для моей задачи на x86. Сколько Мегаточек/c?

Исправление Kosyak, :

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

0) Дана двумерная сетка (одномерный массив, двумерный массив, как хочешь), (10k * 10k). В каждой точке есть три переменных: p, q, v и две константы: D и h (это шаг сетки). Плюс глобальная константа \tau.

1.5e9*4*3*2 - это уже 30+гигов в секунду - ты уже где-то пробалаболил. Расскажи мне как ты читаешь и записываешь по 18гигов/с.

Да, тут я налажал (+ там ещё фишечка с PCIe есть по поводу D и h).

Итак, есть дуплексный канал на 12.8 GB/s (далеко не один контроллер DDR3 у меня, да. Это тебе не ноутбук с атомом), 5 входов, 3 выхода. Дальше можно всячески развлекатся, но в пределе у нас 26.6/8=~порядка 800 Мегаточек/с. И это все равно дохрена, но ты так и не смог посчитать производительность на x86(_64), поэтому не можешь понять.

Итак, 800 МТ/c это, например 8 конвейеров по 100 МГц или 5 по 160 MHz (зависит от скорости FPGA, контрольный вопрос: что лучше и почему?). И дальше ты опять смачно обосрался.

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

«8гигов флоап/16гигов дабл х86 выдаёт 40гигов» <- что это за хрень? Считать учись. Я тебе уже намекал про флопсы но ты опять не понимаешь. Последний шанс:

У меня в одном конвейере ~60 блоков арифметики (для знатоков x86 - это такой FPU для двух чисел с фиксированной операцией). Они работают, все параллельно и считают результат за такт (конвейерно, естественно). Итого в операциях над числами с плавающей запятой в секунду, весь вычислитель - 100000000 (100 MHz, ага) * 60 (кол-во блоков) * 8 (кол-во конвейров) = 48 Гигафлопс. Неплохо, вроде x86 обогнали. А вот во втором случае 160000000 * 60 * 6 = 57.6 Гигафлопс. Wat? Так итоговая скорость обработки точек вроде такая же (800 МТ/c), расскажи мне, знаток вычислительных систем, в чем фишка?

Только для говна - это гуглится за 5минут для доисторического говна.

Знаток x86 и x86_64 во всей красе, нагуглил что такое P4 и NetBurst.

Так почему Pentium 4 сливал Pentium 3 и сливает современным?

Ты получил скорость банального х86.

Расчеты производительности предоставь для моей задачи на x86. Сколько Мегаточек/c?

Исходная версия Kosyak, :

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

0) Дана двумерная сетка (одномерный массив, двумерный массив, как хочешь), (10k * 10k). В каждой точке есть три переменных: p, q, v и две константы: D и h (это шаг сетки). Плюс глобальная константа \tau.

1.5e9*4*3*2 - это уже 30+гигов в секунду - ты уже где-то пробалаболил. Расскажи мне как ты читаешь и записываешь по 18гигов/с.

Да, тут я налажал (+ там ещё фишечка с PCIe есть по поводу D и h).

Итак, есть дуплексный канал на 12.8 GB/s (далеко не один контроллер DDR3 у меня, да. Это тебе не ноутбук с атомом), 5 входов, 3 выхода. Дальше можно всячески развлекатся, но в пределе у нас 26.6/8=~порядка 800 Мегаточек/с. И это все равно дохрена, но ты так и не смог посчитать производительность на x86(_64), поэтому не можешь понять.

Итак, 800 МТ/c это, например 8 конвейеров по 100 МГц или 5 по 160 MHz (зависит от скорости FPGA, контрольный вопрос: что лучше и почему?). И дальше ты опять смачно обосрался.

Врёшь, ты гвоорил про 100МГц - ты это придумал уже после. Банальный брутфорс, который сливает х86. Реально твоя байда выдаёт одну гигаточку - это 8гигов флоап/16гигов дабл. х86 выдаёт 40гигов - слив.

«8гигов флоап/16гигов дабл х86 выдаёт 40гигов» <- что это за хрень? Считать учись. Я тебе уже намекал про флопсы но ты опять не понимаешь. Последний шанс:

У меня в одном конвейере ~60 блоков арифметики (для знатоков x86 - это такой FPU для двух чисел с фиксированной операцией). Они работают, все параллельно и считают результат за такт (конвейерно, естественно). Итого в операциях над числами с плавающей запятой в секунду, весь вычислитель - 100000000 (100 MHz, ага) * 60 (кол-во блоков) * 8 (кол-во конвейров). Неплохо, вроде x86 обогнали. А вот во втором случае 160000000 * 60 * 6 = 57.6 Терафлопс. Wat? Так итоговая скорость обработки точек вроде такая же (800 МТ/c), расскажи мне, знаток вычислительных систем, в чем фишка?

Только для говна - это гуглится за 5минут для доисторического говна.

Знаток x86 и x86_64 во всей красе, нагуглил что такое P4 и NetBurst.

Так почему Pentium 4 сливал Pentium 3 и сливает современным?

Ты получил скорость банального х86.

Расчеты производительности предоставь для моей задачи на x86. Сколько Мегаточек/c?