Dunno but just in case

This commit is contained in:
oscarkramer 2019-06-04 13:47:46 -04:00
parent 75ff9c56ee
commit ba05a4a444
4 changed files with 1348 additions and 1524 deletions

View File

@ -1,29 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true" buildAllGenerated="true"> <component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true">
<generated> <generated>
<config projectName="darknet" targetName="DarkNet" /> <config projectName="darknet" targetName="DarkNet" />
<config projectName="darknet" targetName="darknet" /> <config projectName="darknet" targetName="darknet" />
@ -13,25 +13,10 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="3bfbf356-8fb4-42b7-9cf0-3c2abcc5c096" name="Default Changelist" comment=""> <list default="true" id="3bfbf356-8fb4-42b7-9cf0-3c2abcc5c096" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/examples/attention.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/attention.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/codeStyles/Project.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/examples/captcha.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/captcha.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/classifier.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/classifier.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/gemm.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/gemm.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/coco.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/coco.c" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/image.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/image.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/detector.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/detector.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/instance-segmenter.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/instance-segmenter.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/regressor.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/regressor.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/segmenter.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/segmenter.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/super.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/super.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/swag.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/swag.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/tag.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/tag.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/voxel.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/voxel.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/writing.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/writing.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/examples/yolo.c" beforeDir="false" afterPath="$PROJECT_DIR$/examples/yolo.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/include/darknet.h" beforeDir="false" afterPath="$PROJECT_DIR$/include/darknet.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/data.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/data.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/data.h" beforeDir="false" afterPath="$PROJECT_DIR$/src/data.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/network.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/network.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/parser.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/parser.c" afterDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/cmake-build-debug/" /> <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
<ignored path="$PROJECT_DIR$/build/" /> <ignored path="$PROJECT_DIR$/build/" />
@ -41,133 +26,46 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug" /> <component name="ClangdSettings">
<component name="FUSProjectUsageTrigger"> <option name="formatViaClangd" value="false" />
<session id="1699346290">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="2" />
<entry key="project.open.time.1" value="1" />
<entry key="project.open.time.2" value="1" />
<entry key="project.open.time.4" value="1" />
<entry key="project.open.time.9" value="1" />
<entry key="project.opened" value="4" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="HIDE" value="18" />
<entry key="Makefile" value="1" />
<entry key="c" value="179" />
<entry key="cu" value="4" />
<entry key="gitignore" value="16" />
<entry key="h" value="102" />
<entry key="txt" value="1011" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="CMakeLists.txt" value="910" />
<entry key="ObjectiveC" value="303" />
<entry key="PLAIN_TEXT" value="118" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="HIDE" value="1" />
<entry key="Makefile" value="8" />
<entry key="OLD" value="2" />
<entry key="c" value="46" />
<entry key="cfg" value="4" />
<entry key="cpp" value="1" />
<entry key="cu" value="3" />
<entry key="darknet (disassembly)" value="1" />
<entry key="gitignore" value="1" />
<entry key="h" value="20" />
<entry key="mit" value="1" />
<entry key="txt" value="13" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="CMakeLists.txt" value="11" />
<entry key="Disassembly" value="1" />
<entry key="ObjectiveC" value="71" />
<entry key="PLAIN_TEXT" value="18" />
</counts>
</usages-collector>
</session>
</component> </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug" />
<component name="FileEditorManager"> <component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.5"> <splitter split-orientation="horizontal" split-proportion="0.5">
<split-first> <split-first>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/examples/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/examples/darknet.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-360" />
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/parser.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="868">
<caret line="1309" column="16" lean-forward="true" selection-start-line="1309" selection-start-column="16" selection-end-line="1309" selection-end-column="16" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/network.c"> <entry file="file://$PROJECT_DIR$/src/network.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="579"> <state relative-caret-position="300">
<caret line="219" column="6" lean-forward="true" selection-start-line="219" selection-start-column="6" selection-end-line="219" selection-end-column="6" /> <caret line="20" column="21" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/utils.c"> <entry file="file://$PROJECT_DIR$/src/gemm.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="707"> <state relative-caret-position="570">
<caret line="304" selection-start-line="304" selection-end-line="304" /> <caret line="94" selection-start-line="94" selection-end-line="94" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/normalization_layer.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/convolutional_layer.h"> <entry file="file://$PROJECT_DIR$/src/normalization_layer.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="357">
<caret line="11" column="10" lean-forward="true" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" /> <caret line="65" column="5" selection-start-line="65" selection-start-column="5" selection-end-line="65" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/list.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="810">
<caret line="54" selection-start-line="54" selection-end-line="54" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/option_list.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="54" selection-start-line="54" selection-end-line="54" />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -179,76 +77,17 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/CMakeLists.txt"> <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-182"> <state relative-caret-position="720">
<caret line="3" column="10" selection-start-line="3" selection-start-column="10" selection-end-line="3" selection-end-column="10" /> <caret line="48" column="13" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/include/darknet.h"> <entry file="file://$PROJECT_DIR$/include/darknet.h">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="654"> <state relative-caret-position="654">
<caret line="130" column="16" lean-forward="true" selection-start-line="130" selection-start-column="16" selection-end-line="130" selection-end-column="16" /> <caret line="130" column="16" selection-start-line="130" selection-start-column="16" selection-end-line="130" selection-end-column="16" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" selection-start-line="15" selection-end-line="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/crnn_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="566">
<caret line="73" column="41" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/utils.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="298">
<caret line="33" column="40" selection-start-line="33" selection-start-column="40" selection-end-line="33" selection-end-column="40" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/data.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="15" column="19" selection-start-line="15" selection-start-column="19" selection-end-line="15" selection-end-column="19" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/trace.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cfg/yolov2-tiny-voc.cfg">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cfg/yolov2-tiny.cfg">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="12" selection-start-line="11" selection-start-column="12" selection-end-line="11" selection-end-column="12" />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -258,6 +97,15 @@
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/convolutional_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="176" selection-start-line="176" selection-end-line="176" />
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</split-second> </split-second>
</splitter> </splitter>
@ -280,10 +128,12 @@
<find>conv %5d %2d</find> <find>conv %5d %2d</find>
<find>load</find> <find>load</find>
<find>net</find> <find>net</find>
<find>load_</find>
<find>load_network</find> <find>load_network</find>
<find>char *filename</find> <find>char *filename</find>
<find>load_networ</find> <find>load_networ</find>
<find>is_1</find>
<find>load_</find>
<find>bias</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>net-&gt;</replace> <replace>net-&gt;</replace>
@ -304,7 +154,6 @@
<list> <list>
<option value="$PROJECT_DIR$/examples/attention.c" /> <option value="$PROJECT_DIR$/examples/attention.c" />
<option value="$PROJECT_DIR$/src/compare.c" /> <option value="$PROJECT_DIR$/src/compare.c" />
<option value="$PROJECT_DIR$/src/image.c" />
<option value="$PROJECT_DIR$/examples/swag.c" /> <option value="$PROJECT_DIR$/examples/swag.c" />
<option value="$PROJECT_DIR$/examples/dice.c" /> <option value="$PROJECT_DIR$/examples/dice.c" />
<option value="$PROJECT_DIR$/examples/writing.c" /> <option value="$PROJECT_DIR$/examples/writing.c" />
@ -323,20 +172,16 @@
<option value="$PROJECT_DIR$/src/parser.c" /> <option value="$PROJECT_DIR$/src/parser.c" />
<option value="$PROJECT_DIR$/include/darknet.h" /> <option value="$PROJECT_DIR$/include/darknet.h" />
<option value="$PROJECT_DIR$/trace.txt" /> <option value="$PROJECT_DIR$/trace.txt" />
<option value="$PROJECT_DIR$/src/image.c" />
<option value="$PROJECT_DIR$/src/gemm.c" />
</list> </list>
</option> </option>
</component> </component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" /> <component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" />
<component name="ProjectFrameBounds" extendedState="6"> <component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="49" /> <option name="x" value="1920" />
<option name="y" value="-4" /> <option name="y" value="-4" />
<option name="width" value="1871" /> <option name="width" value="1920" />
<option name="height" value="1204" /> <option name="height" value="1204" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" /> <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
@ -351,17 +196,7 @@
<expand> <expand>
<path> <path>
<item name="darknet" type="b2602c69:ProjectViewProjectNode" /> <item name="darknet" type="b2602c69:ProjectViewProjectNode" />
<item name="darknet" type="462c0819:PsiDirectoryNode" /> <item name="odarknet" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="darknet" type="b2602c69:ProjectViewProjectNode" />
<item name="darknet" type="462c0819:PsiDirectoryNode" />
<item name="include" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="darknet" type="b2602c69:ProjectViewProjectNode" />
<item name="darknet" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path> </path>
</expand> </expand>
<select /> <select />
@ -370,8 +205,12 @@
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../ossimlabs" /> <property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
<property name="node.js.selected.package.eslint" value="(autodetect)" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="CMakeSettings" /> <property name="settings.editor.selected.configurable" value="CMakeSettings" />
@ -393,7 +232,7 @@
</list> </list>
</option> </option>
</component> </component>
<component name="RunManager" selected="Application.darknet"> <component name="RunManager" selected="Application.Build All">
<configuration name="Build All" type="CMakeRunConfiguration" factoryName="Application" PASS_PARENT_ENVS_2="true" CONFIG_NAME="Debug" EXPLICIT_BUILD_TARGET_NAME="all"> <configuration name="Build All" type="CMakeRunConfiguration" factoryName="Application" PASS_PARENT_ENVS_2="true" CONFIG_NAME="Debug" EXPLICIT_BUILD_TARGET_NAME="all">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@ -404,15 +243,15 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="darknet" type="CMakeRunConfiguration" factoryName="Application" PROGRAM_PARAMS="detect cfg/yolov2-tiny.cfg weights/yolov2-tiny-voc.weights data/dog.jpg" WORKING_DIR="file://$PROJECT_DIR$" PASS_PARENT_ENVS_2="true" PROJECT_NAME="darknet" TARGET_NAME="darknet" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="darknet" RUN_TARGET_NAME="darknet"> <configuration name="darknet" type="CMakeRunConfiguration" factoryName="Application" PROGRAM_PARAMS="detect cfg/yolov2-tiny.cfg weights/yolov2-tiny.weights data/dog.jpg" WORKING_DIR="file://$PROJECT_DIR$" PASS_PARENT_ENVS_2="true" PROJECT_NAME="darknet" TARGET_NAME="darknet" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="darknet" RUN_TARGET_NAME="darknet">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<list> <list>
<item itemvalue="Application.Build All" /> <item itemvalue="Application.Build All" />
<item itemvalue="Application.darknet" />
<item itemvalue="Application.DarkNet" /> <item itemvalue="Application.DarkNet" />
<item itemvalue="Application.darknet" />
</list> </list>
</component> </component>
<component name="TaskManager"> <component name="TaskManager">
@ -426,17 +265,17 @@
<workItem from="1551813347605" duration="22781000" /> <workItem from="1551813347605" duration="22781000" />
<workItem from="1552935465896" duration="2499000" /> <workItem from="1552935465896" duration="2499000" />
<workItem from="1552959859845" duration="7935000" /> <workItem from="1552959859845" duration="7935000" />
<workItem from="1554929918445" duration="9028000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="46858000" /> <option name="totallyTimeSpent" value="55886000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="49" y="-4" width="1871" height="1204" extended-state="6" /> <frame x="1920" y="-4" width="1920" height="1204" extended-state="6" />
<editor active="true" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.18082191" /> <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.1782284" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" /> <window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
@ -447,12 +286,12 @@
<window_info anchor="bottom" id="TODO" order="5" /> <window_info anchor="bottom" id="TODO" order="5" />
<window_info anchor="bottom" id="Docker" order="6" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="6" show_stripe_button="false" />
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
<window_info anchor="bottom" x="2179" y="294" width="1129" height="523" id="Messages" order="8" type="FLOATING" weight="0.2811918" /> <window_info anchor="bottom" x="637" y="24" width="1129" height="523" id="Messages" order="8" type="FLOATING" weight="0.2811918" />
<window_info anchor="bottom" id="Terminal" order="9" /> <window_info anchor="bottom" id="Terminal" order="9" />
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="11" show_stripe_button="false" /> <window_info anchor="bottom" id="Version Control" order="11" show_stripe_button="false" />
<window_info anchor="bottom" x="72" y="421" width="1825" height="353" id="CMake" order="12" weight="0.32867783" /> <window_info anchor="bottom" x="72" y="421" width="1825" height="353" id="CMake" order="12" weight="0.32867783" />
<window_info anchor="bottom" x="1244" y="148" width="1871" height="997" id="Debug" order="13" type="WINDOWED" visible="true" weight="0.39851025" /> <window_info anchor="bottom" x="49" y="83" width="1871" height="997" id="Debug" order="13" type="WINDOWED" visible="true" weight="0.39851025" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" /> <window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@ -488,41 +327,18 @@
<component name="UnknownFeatures"> <component name="UnknownFeatures">
<option featureType="com.intellij.fileTypeFactory" implementationName="*.cfg" /> <option featureType="com.intellij.fileTypeFactory" implementationName="*.cfg" />
</component> </component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
<breakpoints> <breakpoints>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType"> <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/parser.c</url> <url>file://$PROJECT_DIR$/src/gemm.c</url>
<line>1172</line> <line>93</line>
<option name="timeStamp" value="3" /> <option name="timeStamp" value="9" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/src/parser.c</url>
<line>921</line>
<option name="timeStamp" value="5" />
</line-breakpoint> </line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/examples/voxel.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83">
<caret line="119" column="42" selection-start-line="119" selection-start-column="42" selection-end-line="119" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/examples/go.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="7005">
<caret line="467" selection-start-line="467" selection-end-line="467" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/avgpool_layer_kernels.cu" />
<entry file="file://$PROJECT_DIR$/LICENSE.mit"> <entry file="file://$PROJECT_DIR$/LICENSE.mit">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
@ -551,13 +367,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/image.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2279">
<caret line="536" column="48" selection-start-line="536" selection-start-column="48" selection-end-line="536" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/local_layer.c"> <entry file="file://$PROJECT_DIR$/src/local_layer.c">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
@ -599,20 +408,6 @@
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Makefile" /> <entry file="file://$PROJECT_DIR$/Makefile" />
<entry file="file://$PROJECT_DIR$/src/gemm.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="229">
<caret line="84" selection-start-line="84" selection-end-line="84" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/convolutional_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="176" selection-start-line="176" selection-end-line="176" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/maxpool_layer.c"> <entry file="file://$PROJECT_DIR$/src/maxpool_layer.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570"> <state relative-caret-position="570">
@ -671,53 +466,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/crnn_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="566">
<caret line="73" column="41" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/data.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="15" column="19" selection-start-line="15" selection-start-column="19" selection-end-line="15" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/utils.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="298">
<caret line="33" column="40" selection-start-line="33" selection-start-column="40" selection-end-line="33" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-182">
<caret line="3" column="10" selection-start-line="3" selection-start-column="10" selection-end-line="3" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/examples/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" selection-start-line="15" selection-end-line="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/examples/darknet.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-360" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/connected_layer.c"> <entry file="file://$PROJECT_DIR$/src/connected_layer.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221"> <state relative-caret-position="221">
@ -725,9 +473,16 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/dropout_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="16" column="38" selection-start-line="16" selection-start-column="38" selection-end-line="16" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/utils.c"> <entry file="file://$PROJECT_DIR$/src/utils.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="707"> <state relative-caret-position="4560">
<caret line="304" selection-start-line="304" selection-end-line="304" /> <caret line="304" selection-start-line="304" selection-end-line="304" />
</state> </state>
</provider> </provider>
@ -741,20 +496,45 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/option_list.c"> <entry file="file://$PROJECT_DIR$/src/option_list.c">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221"> <state relative-caret-position="810">
<caret line="54" selection-start-line="54" selection-end-line="54" /> <caret line="54" selection-start-line="54" selection-end-line="54" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/dropout_layer.c"> <entry file="file://$PROJECT_DIR$/src/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221"> <state relative-caret-position="225">
<caret line="16" column="38" selection-start-line="16" selection-start-column="38" selection-end-line="16" selection-end-column="38" /> <caret line="15" selection-start-line="15" selection-end-line="15" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cfg/yolov2-voc.cfg"> <entry file="file://$PROJECT_DIR$/src/crnn_layer.c">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1095">
<caret line="73" column="41" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/utils.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="495">
<caret line="33" column="40" selection-start-line="33" selection-start-column="40" selection-end-line="33" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/data.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="19" selection-start-line="15" selection-start-column="19" selection-end-line="15" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/trace.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cfg/yolov2-tiny-voc.cfg"> <entry file="file://$PROJECT_DIR$/cfg/yolov2-tiny-voc.cfg">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
@ -766,38 +546,97 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/parser.c"> <entry file="file://$PROJECT_DIR$/cfg/yolov2-voc.cfg">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor" />
<state relative-caret-position="868">
<caret line="1309" column="16" lean-forward="true" selection-start-line="1309" selection-start-column="16" selection-end-line="1309" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/trace.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/include/darknet.h"> <entry file="file://$PROJECT_DIR$/include/darknet.h">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="654"> <state relative-caret-position="654">
<caret line="130" column="16" lean-forward="true" selection-start-line="130" selection-start-column="16" selection-end-line="130" selection-end-column="16" /> <caret line="130" column="16" selection-start-line="130" selection-start-column="16" selection-end-line="130" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/network.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="579">
<caret line="219" column="6" lean-forward="true" selection-start-line="219" selection-start-column="6" selection-end-line="219" selection-end-column="6" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/convolutional_layer.h"> <entry file="file://$PROJECT_DIR$/src/convolutional_layer.h">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="165">
<caret line="11" column="10" lean-forward="true" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" /> <caret line="11" column="10" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/examples/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/examples/darknet.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="403" column="33" selection-start-line="403" selection-start-column="33" selection-end-line="403" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/stb_image.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8825">
<caret line="2427" column="69" selection-start-line="2427" selection-start-column="69" selection-end-line="2427" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/image.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="542">
<caret line="1308" column="37" selection-start-line="1308" selection-start-column="37" selection-end-line="1308" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/parser.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357">
<caret line="921" selection-start-line="921" selection-end-line="921" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/gemm.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="94" selection-start-line="94" selection-end-line="94" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="720">
<caret line="48" column="13" selection-start-line="48" selection-start-column="13" selection-end-line="48" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/convolutional_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="176" selection-start-line="176" selection-end-line="176" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/network.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="20" column="21" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/normalization_layer.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="20" selection-start-line="9" selection-start-column="20" selection-end-line="9" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/normalization_layer.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357">
<caret line="65" column="5" selection-start-line="65" selection-start-column="5" selection-end-line="65" selection-end-column="5" />
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -5,164 +5,169 @@
#include <stdio.h> #include <stdio.h>
#include <math.h> #include <math.h>
void gemm_bin(int M, int N, int K, float ALPHA, void gemm_bin(int M, int N, int K, float ALPHA,
char *A, int lda, char *A, int lda,
float *B, int ldb, float *B, int ldb,
float *C, int ldc) float *C, int ldc)
{ {
int i,j,k; int i,j,k;
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(k = 0; k < K; ++k){ for(k = 0; k < K; ++k){
char A_PART = A[i*lda+k]; char A_PART = A[i*lda+k];
if(A_PART){ if(A_PART){
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
C[i*ldc+j] += B[k*ldb+j]; C[i*ldc+j] += B[k*ldb+j];
}
} else {
for(j = 0; j < N; ++j){
C[i*ldc+j] -= B[k*ldb+j];
}
} }
} } else {
} for(j = 0; j < N; ++j){
C[i*ldc+j] -= B[k*ldb+j];
}
}
}
}
} }
float *random_matrix(int rows, int cols) float *random_matrix(int rows, int cols)
{ {
int i; int i;
float *m = calloc(rows*cols, sizeof(float)); float *m = calloc(rows*cols, sizeof(float));
for(i = 0; i < rows*cols; ++i){ for(i = 0; i < rows*cols; ++i){
m[i] = (float)rand()/RAND_MAX; m[i] = (float)rand()/RAND_MAX;
} }
return m; return m;
} }
void time_random_matrix(int TA, int TB, int m, int k, int n) void time_random_matrix(int TA, int TB, int m, int k, int n)
{ {
float *a; float *a;
if(!TA) a = random_matrix(m,k); if(!TA) a = random_matrix(m,k);
else a = random_matrix(k,m); else a = random_matrix(k,m);
int lda = (!TA)?k:m; int lda = (!TA)?k:m;
float *b; float *b;
if(!TB) b = random_matrix(k,n); if(!TB) b = random_matrix(k,n);
else b = random_matrix(n,k); else b = random_matrix(n,k);
int ldb = (!TB)?n:k; int ldb = (!TB)?n:k;
float *c = random_matrix(m,n); float *c = random_matrix(m,n);
int i; int i;
clock_t start = clock(), end; clock_t start = clock(), end;
for(i = 0; i<10; ++i){ for(i = 0; i<10; ++i){
gemm_cpu(TA,TB,m,n,k,1,a,lda,b,ldb,1,c,n); gemm_cpu(TA,TB,m,n,k,1,a,lda,b,ldb,1,c,n);
} }
end = clock(); end = clock();
printf("Matrix Multiplication %dx%d * %dx%d, TA=%d, TB=%d: %lf ms\n",m,k,k,n, TA, TB, (float)(end-start)/CLOCKS_PER_SEC); printf("Matrix Multiplication %dx%d * %dx%d, TA=%d, TB=%d: %lf ms\n",m,k,k,n, TA, TB, (float)(end-start)/CLOCKS_PER_SEC);
free(a); free(a);
free(b); free(b);
free(c); free(c);
} }
void gemm(int TA, int TB, int M, int N, int K, float ALPHA, void gemm(int TA, int TB, int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float BETA, float BETA,
float *C, int ldc) float *C, int ldc)
{ {
gemm_cpu( TA, TB, M, N, K, ALPHA,A,lda, B, ldb,BETA,C,ldc); gemm_cpu( TA, TB, M, N, K, ALPHA,A,lda, B, ldb,BETA,C,ldc);
} }
void gemm_nn(int M, int N, int K, float ALPHA, void gemm_nn(int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float *C, int ldc) float *C, int ldc)
{ {
int i,j,k; int i,j,k;
#pragma omp parallel for #pragma omp parallel for
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(k = 0; k < K; ++k){ for(k = 0; k < K; ++k){
register float A_PART = ALPHA*A[i*lda+k]; register float A_PART = ALPHA*A[i*lda+k];
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
C[i*ldc+j] += A_PART*B[k*ldb+j]; C[i*ldc+j] += A_PART*B[k*ldb+j];
if (i==0 && j==26688)
{
unsigned short p = B[k*ldb+j]*255;
fprintf(stderr,"j=%d, A=%f, B=%f (0x%02x), C=%f\n",j, A_PART, B[k*ldb+j],p,C[i*ldc+j]);
} }
} }
} }
}
} }
void gemm_nt(int M, int N, int K, float ALPHA, void gemm_nt(int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float *C, int ldc) float *C, int ldc)
{ {
int i,j,k; int i,j,k;
#pragma omp parallel for #pragma omp parallel for
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
register float sum = 0; register float sum = 0;
for(k = 0; k < K; ++k){ for(k = 0; k < K; ++k){
sum += ALPHA*A[i*lda+k]*B[j*ldb + k]; sum += ALPHA*A[i*lda+k]*B[j*ldb + k];
} }
C[i*ldc+j] += sum; C[i*ldc+j] += sum;
} }
} }
} }
void gemm_tn(int M, int N, int K, float ALPHA, void gemm_tn(int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float *C, int ldc) float *C, int ldc)
{ {
int i,j,k; int i,j,k;
#pragma omp parallel for #pragma omp parallel for
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(k = 0; k < K; ++k){ for(k = 0; k < K; ++k){
register float A_PART = ALPHA*A[k*lda+i]; register float A_PART = ALPHA*A[k*lda+i];
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
C[i*ldc+j] += A_PART*B[k*ldb+j]; C[i*ldc+j] += A_PART*B[k*ldb+j];
} }
} }
} }
} }
void gemm_tt(int M, int N, int K, float ALPHA, void gemm_tt(int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float *C, int ldc) float *C, int ldc)
{ {
int i,j,k; int i,j,k;
#pragma omp parallel for #pragma omp parallel for
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
register float sum = 0; register float sum = 0;
for(k = 0; k < K; ++k){ for(k = 0; k < K; ++k){
sum += ALPHA*A[i+k*lda]*B[k+j*ldb]; sum += ALPHA*A[i+k*lda]*B[k+j*ldb];
} }
C[i*ldc+j] += sum; C[i*ldc+j] += sum;
} }
} }
} }
void gemm_cpu(int TA, int TB, int M, int N, int K, float ALPHA, void gemm_cpu(int TA, int TB, int M, int N, int K, float ALPHA,
float *A, int lda, float *A, int lda,
float *B, int ldb, float *B, int ldb,
float BETA, float BETA,
float *C, int ldc) float *C, int ldc)
{ {
//printf("cpu: %d %d %d %d %d %f %d %d %f %d\n",TA, TB, M, N, K, ALPHA, lda, ldb, BETA, ldc); //printf("cpu: %d %d %d %d %d %f %d %d %f %d\n",TA, TB, M, N, K, ALPHA, lda, ldb, BETA, ldc);
int i, j; int i, j;
for(i = 0; i < M; ++i){ for(i = 0; i < M; ++i){
for(j = 0; j < N; ++j){ for(j = 0; j < N; ++j){
C[i*ldc + j] *= BETA; C[i*ldc + j] *= BETA;
} }
} }
if(!TA && !TB) if(!TA && !TB)
gemm_nn(M, N, K, ALPHA,A,lda, B, ldb,C,ldc); gemm_nn(M, N, K, ALPHA,A,lda, B, ldb,C,ldc);
else if(TA && !TB) else if(TA && !TB)
gemm_tn(M, N, K, ALPHA,A,lda, B, ldb,C,ldc); gemm_tn(M, N, K, ALPHA,A,lda, B, ldb,C,ldc);
else if(!TA && TB) else if(!TA && TB)
gemm_nt(M, N, K, ALPHA,A,lda, B, ldb,C,ldc); gemm_nt(M, N, K, ALPHA,A,lda, B, ldb,C,ldc);
else else
gemm_tt(M, N, K, ALPHA,A,lda, B, ldb,C,ldc); gemm_tt(M, N, K, ALPHA,A,lda, B, ldb,C,ldc);
} }
#ifdef GPU #ifdef GPU

File diff suppressed because it is too large Load Diff