nvccでgccのバージョンエラー

nvccがgccのバージョンに依存しているので、新しいgccを使っていたりすると、cudaのバージョンによっては以下のような感じのエラーになる。

$ nvcc -o add_cuda add.cu
In file included from /usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h:83,
from :
/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/host_config.h:138:2: error: #error -- unsupported GNU version! gcc versions later than 8 are not supported!
138 | #error -- unsupported GNU version! gcc versions later than 8 are not supported!

この場合だと、

$ sudo apt install g++-8

として、gcc 8をインストールして、nvccコマンドを以下のように実行すればコンパイルできる。

$ nvcc -o add_cuda add.cu -ccbin g++-8

fess-ingest-ndjsonを作る

fess-ingest-ndjsonを作ってみました。これは、elasticsearchに送っている内容を指定されたファイルに保存していく感じです。なので、クロールしている内容を別途保存しておきたいときとかに利用できるかなと。保存しておくことで、Pythonで読み込んで別の処理に使うとかもできるかと。

インストールしたあとはsystem.propertiesファイルに出力先とかを記述する必要があります。たとえば、

ingest.ndjson.path=/tmp
ingest.ndjson.max.lines=10000
ingest.ndjson.prefix=fess-

みたいに書いておけば、fess-*.ndjsonファイルができて、10000件ずつ保存されていきます。1クロール処理で切り替わるので、10000件に満たなければ、次には新しいファイルになります。あとは、titleとcontentだけを保存するのであれば、

ingest.ndjson.filter.keys=title,content

とすれば、それだけが出力されます。

という感じで、別な何かをしたいときとかに利用するものを生成するとかに使えるかなと思います。(というか、Pythonで読み込んで使おうかなと自分で思っていたから作った感じですけど・・・)