Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[concurrent-blocking-queue-fix] ConcurrentBlockingQueue::Pop's return… #2

Closed
wants to merge 2 commits into from

Conversation

hotpxl
Copy link
Contributor

@hotpxl hotpxl commented Jul 1, 2015

ConcurrentBlockingQueue::Pop's return value's semantic was unconventional in Minerva. Correct it here

Since it is used in the engine, @jermainewang you might want to know the change

… value symantic was unconventional in Minerva. Correct it here
@tqchen
Copy link
Member

tqchen commented Jul 1, 2015

There are a few more things we can do:

  • Try to use c++11's atomic to implement the spin_lock
    • This may solve some ASM issues across archs
  • Put things in namespace mxnet::common, heavily document all the class variables and functions in the header(refer to other headers in include)
    • So others can use it easily(we might move them to dmlc-core eventually)

@tqchen
Copy link
Member

tqchen commented Jul 1, 2015

Let us also loop @mli in this on possibility of moving additional thread concurrency util into dmlc-core. we could possibly put them in include/dmlc/thread

@jermainewang
Copy link
Contributor

For the spin_lock implementation, I think current implementation is quite
efficient. The "xchg" instruction is atomic instruction. I don't know
c++11's implementation. But why we need to use 11's atomic to implement
that?

On Wed, Jul 1, 2015 at 12:11 PM, Tianqi Chen notifications@github.com
wrote:

Let us also loop @mli https://github.com/mli in this on possibility of
moving additional thread concurrency util into dmlc-core. we could possibly
put them in include/dmlc/thread


Reply to this email directly or view it on GitHub
#2 (comment).

Minjie Wang
New York University | Computer Science
715 Broadway, New York, NY, 10009

@mli
Copy link
Member

mli commented Jul 1, 2015

could you please evaluate the performance comparing to the following implementation?

#include <atomic>
class SpinLock {
public:
    void lock()  {
        while(lck.test_and_set(std::memory_order_acquire))
        {}
    }

    void unlock()   {
        lck.clear(std::memory_order_release);
    }

private:
    std::atomic_flag lck = ATOMIC_FLAG_INIT;
};

@tqchen
Copy link
Member

tqchen commented Jul 2, 2015

@jermainewang The major reason was portability. ASM can be tricky when you port it to different platforms, for example, a architecture that do not support x86

@hotpxl
Copy link
Contributor Author

hotpxl commented Jul 2, 2015

@mli I tried that some time ago. It was no faster that std::atomic_bool. But nevertheless we could use that implementation. I couldn't be worse.

@tqchen
Copy link
Member

tqchen commented Jul 2, 2015

@hotpxl if the efficiency is the same. I would recommend using atomic, due to the reason I mentioned

@hotpxl
Copy link
Contributor Author

hotpxl commented Jul 2, 2015

@tqchen I was comparing std::atomic_bool to std::atomic_flag. I never tested xchg.

@tqchen
Copy link
Member

tqchen commented Jul 26, 2015

close since this is moved to dmlc-core

@tqchen tqchen closed this Jul 26, 2015
@tqchen tqchen deleted the concurrent-blocking-queue-fix branch July 26, 2015 17:51
antinucleon added a commit that referenced this pull request Aug 20, 2015
mli added a commit that referenced this pull request Sep 14, 2015
mli added a commit that referenced this pull request Sep 22, 2015
tqchen pushed a commit that referenced this pull request Oct 7, 2015
tqchen pushed a commit that referenced this pull request Oct 11, 2015
yzhliu referenced this pull request in yzhliu/mxnet Dec 18, 2015
modified maven linux settings
wangdelp pushed a commit to LoneStarAI/mxnet that referenced this pull request Apr 5, 2016
ijkguo pushed a commit to ijkguo/mxnet that referenced this pull request Jul 19, 2016
modify smooth_l1 and softmax_output
daveliepmann pushed a commit to daveliepmann/incubator-mxnet that referenced this pull request Oct 31, 2018
wkcn pushed a commit that referenced this pull request Apr 9, 2019
* Kvstore strkey (#2)

* support string type for kvstore key in cpp-package

* make lines short

* fix build

* add kvstore testcase

* no rand() use

* fix cpplint sanity check

* support string type for kvstore key in cpp-package

* make lines short

* fix build

* print error log

* Update test_kvstore.cpp

* update

* add gpu unittest

* check gpu count

* fix sanity check
ArmageddonKnight added a commit to UofT-EcoSystem/incubator-mxnet that referenced this pull request Jun 11, 2019
… and changed to storage tagging to rvalue reference.
haohuanw pushed a commit to haohuanw/incubator-mxnet that referenced this pull request Jun 23, 2019
…e#10792)

* Kvstore strkey (apache#2)

* support string type for kvstore key in cpp-package

* make lines short

* fix build

* add kvstore testcase

* no rand() use

* fix cpplint sanity check

* support string type for kvstore key in cpp-package

* make lines short

* fix build

* print error log

* Update test_kvstore.cpp

* update

* add gpu unittest

* check gpu count

* fix sanity check
ckt624 added a commit to ckt624/incubator-mxnet that referenced this pull request Aug 14, 2019
# This is the 1st commit message:

Implements ldexp.

# This is the commit message apache#2:

Remove spaces.

# This is the commit message apache#3:

Change tests.

# This is the commit message apache#4:

Reorganize files.
ckt624 added a commit to ckt624/incubator-mxnet that referenced this pull request Aug 14, 2019
# This is the 1st commit message:

Implements ldexp.

# This is the commit message apache#2:

Remove spaces.

# This is the commit message apache#3:

Change tests.

# This is the commit message apache#4:

Reorganize files.
ckt624 added a commit to ckt624/incubator-mxnet that referenced this pull request Aug 19, 2019
# This is the 1st commit message:

Implements ldexp.

# This is the commit message apache#2:

Remove spaces.

# This is the commit message apache#3:

Change tests.

# This is the commit message apache#4:

Reorganize files.
ArmageddonKnight added a commit to UofT-EcoSystem/incubator-mxnet that referenced this pull request Oct 5, 2019
… and changed to storage tagging to rvalue reference.
ymjiang added a commit to ymjiang/incubator-mxnet that referenced this pull request Nov 6, 2019
ArmageddonKnight added a commit to UofT-EcoSystem/incubator-mxnet that referenced this pull request Dec 6, 2019
… and changed to storage tagging to rvalue reference.
ArmageddonKnight added a commit to UofT-EcoSystem/incubator-mxnet that referenced this pull request Dec 6, 2019
… and changed to storage tagging to rvalue reference.
ArmageddonKnight added a commit to UofT-EcoSystem/incubator-mxnet that referenced this pull request Dec 6, 2019
… and changed to storage tagging to rvalue reference.
@samskalicky samskalicky mentioned this pull request Jan 7, 2020
4 tasks
@roywei roywei mentioned this pull request Jan 15, 2020
11 tasks
khaotik added a commit to khaotik/incubator-mxnet that referenced this pull request Mar 21, 2021
szha pushed a commit that referenced this pull request Apr 30, 2021
* copycat from adamw to adabelief

* fix py lint

* fix py lint #2

* fix cpp lint

* add adabelief to amp list
channel960608 referenced this pull request in channel960608/incubator-mxnet Aug 17, 2021
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message apache#3:

UPDATE: ci for java-package

# This is the commit message apache#4:

UPDATE: ci for java-package

# This is the commit message apache#5:

UPDATE: ci for java-package

# This is the commit message apache#6:

UPDATE: ci for java-package

# This is the commit message apache#7:

UPDATE: ci for java-package

# This is the commit message apache#8:

UPDATE: ci for java-package

# This is the commit message apache#9:

UPDATE: ci for java-package

# This is the commit message apache#10:

UPDATE: ci for java-package

# This is the commit message apache#11:

UPDATE: ci for java-package

# This is the commit message apache#12:

UPDATE: ci for java-package

# This is the commit message apache#13:

UPDATE: ci for java-package

# This is the commit message apache#14:

UPDATE: ci for java-package

# This is the commit message apache#15:

UPDATE: ci for java-package

# This is the commit message apache#16:

UPDATE: ci for java-package

# This is the commit message apache#17:

UPDATE: ci for java-package

# This is the commit message apache#18:

UPDATE: ci for java-package
channel960608 referenced this pull request in channel960608/incubator-mxnet Aug 17, 2021
parent 1ea18ed
author cspchen <cspchen@amazon.com> 1629186478 +0800
committer cspchen <cspchen@amazon.com> 1629186485 +0800

# This is a combination of 21 commits.
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message apache#3:

UPDATE: ci for java-package

# This is the commit message apache#4:

UPDATE: ci for java-package

# This is the commit message apache#5:

UPDATE: ci for java-package

# This is the commit message apache#6:

UPDATE: ci for java-package

# This is the commit message apache#7:

UPDATE: ci for java-package

# This is the commit message apache#8:

UPDATE: ci for java-package

# This is the commit message apache#9:

UPDATE: ci for java-package

# This is the commit message apache#10:

UPDATE: ci for java-package

# This is the commit message apache#11:

UPDATE: ci for java-package

# This is the commit message apache#12:

UPDATE: ci for java-package

# This is the commit message apache#13:

UPDATE: ci for java-package

# This is the commit message apache#14:

UPDATE: ci for java-package

# This is the commit message apache#15:

UPDATE: ci for java-package

# This is the commit message apache#16:

UPDATE: ci for java-package

# This is the commit message apache#17:

UPDATE: ci for java-package

# This is the commit message apache#18:

UPDATE: ci for java-package

# This is the commit message apache#19:

UPDATE: ci for java-package

# This is the commit message apache#20:

UPDATE: ci for java-package

# This is the commit message apache#21:

UPDATE: ci for java-package

# This is the commit message apache#22:

UPDATE: ci for java-package

# This is the commit message apache#23:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#24:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#25:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#26:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#27:

UPDATE: jenkins ci scripts for java-package
channel960608 referenced this pull request in channel960608/incubator-mxnet Aug 17, 2021
parent 1ea18ed
author cspchen <cspchen@amazon.com> 1629186478 +0800
committer cspchen <cspchen@amazon.com> 1629186485 +0800

# This is a combination of 21 commits.
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message apache#3:

UPDATE: ci for java-package

# This is the commit message apache#4:

UPDATE: ci for java-package

# This is the commit message apache#5:

UPDATE: ci for java-package

# This is the commit message apache#6:

UPDATE: ci for java-package

# This is the commit message apache#7:

UPDATE: ci for java-package

# This is the commit message apache#8:

UPDATE: ci for java-package

# This is the commit message apache#9:

UPDATE: ci for java-package

# This is the commit message apache#10:

UPDATE: ci for java-package

# This is the commit message apache#11:

UPDATE: ci for java-package

# This is the commit message apache#12:

UPDATE: ci for java-package

# This is the commit message apache#13:

UPDATE: ci for java-package

# This is the commit message apache#14:

UPDATE: ci for java-package

# This is the commit message apache#15:

UPDATE: ci for java-package

# This is the commit message apache#16:

UPDATE: ci for java-package

# This is the commit message apache#17:

UPDATE: ci for java-package

# This is the commit message apache#18:

UPDATE: ci for java-package

# This is the commit message apache#19:

UPDATE: ci for java-package

# This is the commit message apache#20:

UPDATE: ci for java-package

# This is the commit message apache#21:

UPDATE: ci for java-package

# This is the commit message apache#22:

UPDATE: ci for java-package

# This is the commit message apache#23:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#24:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#25:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#26:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#27:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#28:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#30:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#31:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#32:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#33:

UPDATE: jenkins ci scripts for java-package

# This is the commit message apache#34:

FIX: issues in Resource close methods

# This is the commit message apache#35:

FIX: issues in Resource close methods
lanking520 pushed a commit that referenced this pull request Oct 5, 2021
* ADD: first commit

* ADD: load local libraries

* UPDATE: use header files of MXNet 2.0

* ADD: load binaries from environment variable, java properties or jar files.

* ADD: add symbol loading and closing
add module integration

* ADD: [WIP] Component MxNDArray

* ADD: [WIP] Component MxNDArray

* ADD: Component MxNDArray. Pass static compilation check

* ADD: Component CachedOp

* REMOVE: module api which is no use

* FIX: dependency missing

* ADD: [WIP] add test cases for NdArray and CachedOp

* ADD: [WIP] add test cases for NdArray and CachedOp

* ADD: implement of the forward function for MxSymbolblock

* ADD: implement of the forward function for MxSymbolblock

* ADD: Sample model downloader for MLP

* ADD: doc

* ADD: Front-end module for inference, class MxModel, Predictor and so on.

* FIX: Mxnet crash when process exits.

* FIX: remove and initialize 3rdparty directory

* FIX: revert version of submodules: dlpack, dmlc-core, googletest, ps-lite

* Revert "FIX: remove and initialize 3rdparty directory"

This reverts commit d097675

* FIX: redownload files in 3rdparty

* FIX: reset --hard the version of a few submodules

* FIX: reset --hard the version of a few submodules

* FIX: reset --hard the version of a few submodules

* PERF: [WIP] optimize code structure and memory management and

* ADD: add copyright; remove Mx prefix for some classes

* ADD: add copyright

* FIX: group name, path to find header files

* UPDATE: README.md

* ADD: copyright

* ADD: copyright

* ADD: package-info

ADD: ci

ADD: ci

ADD: make modification to trigger ci

ADD: ci

ADD: ci

ADD: ci

ADD: ci

ADD: gradlew

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

ADD: java_package_ci

FIX: build failure

* FIX: ci config file

* UPDATE: remove ParameterStore and some scripts

UPDATE: remove Initializer.java

* UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

FIX: issues in Resource close methods

FIX: issues in Resource close methods

FIX: issues in Resource close methods

UPDATE: remove scripts for dev

* FIX: loading on Linux platform

* # This is a combination of 18 commits.
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message #3:

UPDATE: ci for java-package

# This is the commit message #4:

UPDATE: ci for java-package

# This is the commit message #5:

UPDATE: ci for java-package

# This is the commit message #6:

UPDATE: ci for java-package

# This is the commit message #7:

UPDATE: ci for java-package

# This is the commit message #8:

UPDATE: ci for java-package

# This is the commit message #9:

UPDATE: ci for java-package

# This is the commit message #10:

UPDATE: ci for java-package

# This is the commit message #11:

UPDATE: ci for java-package

# This is the commit message #12:

UPDATE: ci for java-package

# This is the commit message #13:

UPDATE: ci for java-package

# This is the commit message #14:

UPDATE: ci for java-package

# This is the commit message #15:

UPDATE: ci for java-package

# This is the commit message #16:

UPDATE: ci for java-package

# This is the commit message #17:

UPDATE: ci for java-package

# This is the commit message #18:

UPDATE: ci for java-package

* # This is a combination of 27 commits.
parent 1ea18ed
author cspchen <cspchen@amazon.com> 1629186478 +0800
committer cspchen <cspchen@amazon.com> 1629186485 +0800

# This is a combination of 21 commits.
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message #3:

UPDATE: ci for java-package

# This is the commit message #4:

UPDATE: ci for java-package

# This is the commit message #5:

UPDATE: ci for java-package

# This is the commit message #6:

UPDATE: ci for java-package

# This is the commit message #7:

UPDATE: ci for java-package

# This is the commit message #8:

UPDATE: ci for java-package

# This is the commit message #9:

UPDATE: ci for java-package

# This is the commit message #10:

UPDATE: ci for java-package

# This is the commit message #11:

UPDATE: ci for java-package

# This is the commit message #12:

UPDATE: ci for java-package

# This is the commit message #13:

UPDATE: ci for java-package

# This is the commit message #14:

UPDATE: ci for java-package

# This is the commit message #15:

UPDATE: ci for java-package

# This is the commit message #16:

UPDATE: ci for java-package

# This is the commit message #17:

UPDATE: ci for java-package

# This is the commit message #18:

UPDATE: ci for java-package

# This is the commit message #19:

UPDATE: ci for java-package

# This is the commit message #20:

UPDATE: ci for java-package

# This is the commit message #21:

UPDATE: ci for java-package

# This is the commit message #22:

UPDATE: ci for java-package

# This is the commit message #23:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #24:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #25:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #26:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #27:

UPDATE: jenkins ci scripts for java-package

* MERGE: resolve conflicts

* MERGE: resolve conflicts

* # This is a combination of 35 commits.
parent 1ea18ed
author cspchen <cspchen@amazon.com> 1629186478 +0800
committer cspchen <cspchen@amazon.com> 1629186485 +0800

# This is a combination of 21 commits.
# This is the 1st commit message:

FIX: loading on Linux platform

# This is the commit message #2:

UPDATE: ci for java-package

# This is the commit message #3:

UPDATE: ci for java-package

# This is the commit message #4:

UPDATE: ci for java-package

# This is the commit message #5:

UPDATE: ci for java-package

# This is the commit message #6:

UPDATE: ci for java-package

# This is the commit message #7:

UPDATE: ci for java-package

# This is the commit message #8:

UPDATE: ci for java-package

# This is the commit message #9:

UPDATE: ci for java-package

# This is the commit message #10:

UPDATE: ci for java-package

# This is the commit message #11:

UPDATE: ci for java-package

# This is the commit message #12:

UPDATE: ci for java-package

# This is the commit message #13:

UPDATE: ci for java-package

# This is the commit message #14:

UPDATE: ci for java-package

# This is the commit message #15:

UPDATE: ci for java-package

# This is the commit message #16:

UPDATE: ci for java-package

# This is the commit message #17:

UPDATE: ci for java-package

# This is the commit message #18:

UPDATE: ci for java-package

# This is the commit message #19:

UPDATE: ci for java-package

# This is the commit message #20:

UPDATE: ci for java-package

# This is the commit message #21:

UPDATE: ci for java-package

# This is the commit message #22:

UPDATE: ci for java-package

# This is the commit message #23:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #24:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #25:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #26:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #27:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #28:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #30:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #31:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #32:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #33:

UPDATE: jenkins ci scripts for java-package

# This is the commit message #34:

FIX: issues in Resource close methods

# This is the commit message #35:

FIX: issues in Resource close methods

* parent 1ea18ed
author cspchen <cspchen@amazon.com> 1629186478 +0800
committer cspchen <cspchen@amazon.com> 1629186485 +0800

FIX: loading on Linux platform

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: ci for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

UPDATE: jenkins ci scripts for java-package

FIX: issues in Resource close methods

FIX: issues in Resource close methods

FIX: issues in Resource close methods

DOC: add doc

STYLE: change code style for pmd check

FIX: avoid the register for a signal handler twice

STYLE: pass pmd check

UPDATE: remove unused scripts

* FIX: solve problems before merge

* UPDATE: remove useless files

* FIX: licence to apache

* FIX: sanity check

* FIX: sanity check

* FIX: sanity check

* FIX: remove unused files

* FIX: remove unused files

* DOC: add document

* FIX: doesn't work on osx

* FIX: clang static check

* FIX: sanity

* FIX: skip signal handler registration when building java package

* FIX: remove DataType String

* FIX: add license

Co-authored-by: cspchen <cspchen@amazon.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants