2018年12月8日土曜日

バトルテック射撃テンプレート

バトルテック射撃テンプレートの作り方。

材料
1)このファイルをA4で印刷したもの
2)ダイソー等で売っているA5のホワイトボード


作り方
1)ホワイトボードの上下左右に接着剤がはみ出ているので、その場所を調べます。

2)印刷したテンプレートをこんな具合にカットします。
上下のボンドはみだし箇所は、ホワイトボードに差し込むときにスライドさせるので
広めにカットしておきます。

3)上下を差し込み、スライドさせて
もう片方を差し込めば、完成!

デザインが気に入らない!って人はこちらのファイル(odf形式)を編集してください。

2018年1月22日月曜日

GCCのビルトインプリフェッチ

sse->neonの移植でmm_prefetch()に相当するものがないのでいろいろ調べた。
Clangでも使える。
GCCのビルトインプリフェッチ命令

__builtin_prefetch(const void *addr, int rw, int locality)

 const void *addr プリフェッチするアドレス
int rw 0:デフォルト 読み込み
        1:書き込み
int locality 0:キャッシュにアクセス後、データを残さない
              1:0と3の間。0寄り
              2:0と3の間。3寄り
              3:可能な限りキャッシュにデータを残す

2018年1月14日日曜日

[メモ]Tinker Board でのOpenCLのビルド

apt-get install opencl-headers

gcc main.c -I/usr/include -L/usr/lib /usr/lib/arm-linux-gnueabihf/libOpenCL.so


CL_PLATFORM_xxxxをとってみた結果はこんな感じ

CL_PLATFORM_PROFILE   : FULL_PROFILE
CL_PLATFORM_VERSION   : OpenCL 1.2 v1.r9p0-05rel0-git(f980191).e4ba9e4c6ff8005348d0332aae160089
CL_PLATFORM_NAME      : ARM Platform
CL_PLATFORM_VENDOR    : ARM
CL_PLATFORM_EXTENSIONS: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_gl_sharing cl_khr_icd cl_khr_egl_event cl_khr_egl_image cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory