Разработайте для PlayStation 3 Linux

Легкий способ упорядочить результат после того, как mongo возвращает массив, состоит в том, чтобы сделать объект с идентификатором в качестве ключей, а затем отобразить на заданный _id, чтобы вернуть упорядоченный массив.

async function batchUsers(Users, keys) {
  const unorderedUsers = await Users.find({_id: {$in: keys}}).toArray()
  let obj = {}
  unorderedUsers.forEach(x => obj[x._id]=x)
  const ordered = keys.map(key => obj[key])
  return ordered
}
16
задан Robinicks 22 January 2009 в 01:54
поделиться

3 ответа

Вы можете попробовать Выгрузить C ++ из программного обеспечения Codeplay. Он предоставляет расширенный диалект C ++, упрощающий разработку программного обеспечения на многоядерном оборудовании, таком как процессор Cell.

Набор инструментов кросс-компилятора позволяет компилировать код для PS3 в Windows, что может быть полезно с учетом ограничений ресурсов (например, системной памяти) на консоли PS3 под управлением Linux, что может повлиять на время компиляции и использовать PS3 в качестве рабочий стол неудобный.

Доступны версии компилятора и инструментов Offload C ++ для PS3 GameOS и Linux on Cell с Cell BE SDK. Версия Cell Linux интегрируется с Eclipse CDT для IDE.

Отказ от ответственности: я разработчик в Codeplay.

2
ответ дан 30 November 2019 в 23:18
поделиться

Вы могли бы также попробовать Ubuntu 8.10 (Бесстрашный Козерог). Их поддержка PS3 довольно хороша, и инструкции для установки, и грубая краткая информация о компиляции может быть найдена здесь . GCC 4.3 и binutils 4.18 включают цели для Ячейки PPU (универсальная цель PowerPC) и SPUs, и существуют пакеты, доступные в репозиториях Ubuntu (например, spu-gcc, spu-g ++, spu-binutils, ppu-gdb, spu-newlib, и т.д.), который скомпилирует двоичные файлы для Вас.

До надлежащего IDE, вышеупомянутые утилиты должны интегрироваться прекрасный приблизительно с любым IDE (т.е. KDevelop, Eclipse CDT, Код:: Блоки), пока можно найти файлы подсветки синтаксиса (доступными для большинства популярных IDE). Ячейка SDK доступен также и мог потенциально обеспечить лучшую интеграцию, и пакеты доступны для RHEL 5.2, и Fedora 9 (должен смочь использовать посторонний объект для получения по запросу их в Debian/Ubuntu, но не уверенный в этом).

OpenMPI является прекрасной идеей, они смогли скомпилировать его для Основанных на ячейке блейдов ( здесь ), таким образом, я не думаю, что это должна быть проблема. Вы могли также прокрутить свою собственную передачу сообщений, поскольку низкие издержки являются ключом в извлечении хорошей производительности на Ячейке (хотя я не знаю, как подходящий OpenMPI для этого, это могло быть большим).

4
ответ дан 30 November 2019 в 23:18
поделиться

Книга Matthew Scarpino, Программирование Процессора Ячейки, довольно актуальна и имеет большую хорошую информацию. Кроме того, веб-сайт для книги имеет много примера кода доступного для скачивания.

был также курс MIT на параллельном программировании через процессор Cell, который имеет некоторую хорошую информацию, хотя часть его устарела, а именно, это использует старую механику ячейки, где libspe обеспечил свои собственные потоки. С новейшей версией библиотеки необходимо будет получить потоки откуда-либо (pthreads, повышение, безотносительно) для хождения параллельно под программы.

Что касается ОС и компилятора, я использовал Желтую собаку Linux 6.1. YDL удался вполне прилично до сих пор, намного лучше, чем Fedora 9 так или иначе, хотя это вероятно результат того, что YDL идет с суперлегким менеджером окон, и Fedora 9 не делает. У меня было несколько проблем с сетями, но это наиболее вероятно продукт немного причудливой сетевой среды, в которой мне настраивали систему.

, Как только у меня были YDL и выполнение, я тогда установил ячейку sdk фетровые пакеты сверху (это берет определенную работу, поскольку сценарий установки cellsdk ложно распознает YDL как RHEL, не Fedora). YDL действительно имеет большую часть SDK в наличии в одном из их пакета repos, но по умолчанию не большая часть его установлена, просто компиляторы (конечно, я не понимал это, пока я уже не взломал установщик IBM, чтобы сделать правильную вещь). Я просто использую основные компиляторы IBM (не эти XL материалов).

существует также тонна информации, рассеянной вокруг сайт IBM , но может быть немного трудно понять.

2
ответ дан 30 November 2019 в 23:18
поделиться