Commit Graph
19 Commits
Author SHA1 Message Date
nihui 7c079b853e default to big cpu count 2021-03-22 18:50:51 +08:00
nihui 67e24e0703 use local pool allocator (#2736)
* use local pool allocator

* detach extract feat from local allocator

* fix test
2021-03-16 16:23:28 +08:00
Youngsoo Lee b9bed8d993 feat: add denormal options (#2656)
* feat: add denormal options

Flush-To-Zero(FTZ) and Denormals-Are-Zero(DAZ) are modes that bypass IEEE754 methods of dealing with denormal floating-point numbers on x86_64 and some x86 CPUs.

* feat: Integrate `flush_denormals` into `Extractor::extract`

* chore: replace global variable with `ThreadLocalStorage`
2021-02-19 12:21:55 +08:00
nihui 54c0a13b9f build shared library (#2525)
* build shared lib and enable lto

* reserved for layer and option

* allocator pimpl

* datareader pimpl

* paramdict pimpl, disable copy assign for allocator and datareader

* modelbin pimpl

* net extractor pimpl

* gpu pimple

* disable copy assign vulkandevice, code format

* command pimpl, dummy image readonly

* pipeline pipelinecache pimpl, export platform class

* code format, export simple family

* update ci

* disable lto on android armv7, merge webassembly ci

* link libgcc, fix macos dylib version

* pipeline pimpl, gpu info pimpl

* destroy gpu info after vulkan device

* ignore msvc stl class warning

* fix ncnn_paramdict_get_float return type

* fix vktransfer upload fp16 without flatten, add command test
2021-01-01 22:55:10 +08:00
nihui b9296c259d bring up vulkan 1.1 (#2191)
* query subgroup features

* compile spirv 1.3

* drop offline spirv build

* do not build tests for android and ios, as they are never tested anyway

* code style
2020-10-11 22:53:38 +08:00
nihuini 6238bfd77f roi variant for from pixels family, enable fp16a by default 2020-09-08 18:54:09 +08:00
nihuini 4e4f0baa73 set openmp blocktime 20 for reducing power consumption, blocktime option 2020-07-23 14:20:54 +08:00
nihui 11cffce114 armv8.2 infrastructure (#1856)
* runtime cpu dispatch

* force thread one

* disable openmp for coverage

* simplify test layer

* print NCNN_TARGET_ARCH

* less ci build variants

* weight fp16 storage option

* test convdw int8

* apple a12 a13

* ncnn_add_layer ncnn_add_shader cmake macro
2020-07-19 19:29:52 +08:00
nihui 164273de61 online pipeline cache (#1792)
* online pipeline cache wip

* device-wide pipeline cache

* enable model-wide pipeline cache

* drop pre-created shader modules

* always use pipeline cache

* use implicit model-wide pipeline cache, code format

* code clean
2020-07-04 12:30:50 +08:00
nihui 3ef995ed1e format code style and setup restyled.io (#1840) 2020-06-13 22:17:51 +08:00
nihui 9a9a618229 image storage is mandatory, less options makes life easier 2020-05-08 00:09:35 +08:00
nihui 62da1228e1 adreno image shader + fp16 + fp16a (#1714)
* wip

* wip

* fix

* image and imageview can not be destroyed until command execution ends

* fast copy path for tightly packed data

* wip

* texture load works

* 1d 3d image

* record clone image, multiple commands share one image reference

* upload download image

* layer forward accept vkimagemat

* vkimagemat graph works

* staging vkimagemat for passing dynamic parameters, macro for fp32+image shader, padding image shader

* vkimagemat elemsize

* convolution test pass

* conv1x1s1 image shader

* fast staging image allocator from host memory, pooling image shader

* convolutiondepthwise image shader

* innerproduct image shader

* packing image shader

* crop deconvolution image shader

* resolve spirv binding types

* image fp16 and fp16a, cast image shader

* eltwise image shader

* wip

* absval image shader

* deconvolutiondepthwise image shader

* concat image shader, squeezenet works

* noop split image shader

* uniform precision hint

* layer support_image_storage

* wip

* vulkan device utility operator

* command is storage and packing option aware

* fallback to cpu on image allocation failed, mobilenetssd works

* flatten image shader, enable more test

* ci test

* check imgfp32 imgfp16 imgfp16a features

* fix ci test

* fix ci test

* upgrade swiftshader

* wip

* opt aggressive

* imgfp16p

* opt none

* convolution winograd image shader

* fix flush range, fast copy path for continous buffer

* minor fix

* fix innerproduct

* wip ...

* wip

* cast fix

* packing test

* wip

* image fp16p is fp16p

* wip

* silence

* more line info

* code clean

* softmax image shader
2020-04-30 17:08:30 +08:00
nihui d85b2bc285 enable packing_layout by default 2020-04-12 18:06:47 +08:00
nihuini 4c6bf24205 explicit cpu thread affinity 2020-03-19 11:24:05 +08:00
nihui 7d1eec3d5d the use_bf16_storage option 2020-03-10 22:50:48 +08:00
nihui a718129d76 shader pack8 option works 2020-01-29 13:59:17 +08:00
nihuini 834224fea8 new option use_packing_layout 2019-07-19 19:53:14 +08:00
nihuini 73911492d7 fix validation warning on querypool destruction, enable fp16p by default 2019-06-10 19:51:27 +08:00
nihuini 838c5df839 option api changes 2019-06-04 14:20:18 +08:00