Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple functions speed up #563

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d42a688
Build Framework (NeoML-master 1.0.45.0): Incrementing version number.
NeoML-maintainer Jan 14, 2021
609aa76
Merge remote-tracking branch 'upstream/master'
yekatkov Jan 19, 2021
5c1519b
Merge remote-tracking branch 'upstream/master'
yekatkov Feb 15, 2021
d7d2e6c
Merge remote-tracking branch 'upstream/master'
yekatkov Feb 19, 2021
b509b4d
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Jun 7, 2021
c6382a4
Merge remote-tracking branch 'upstream/master'
yekatkov Jun 15, 2021
1ce6387
Merge remote-tracking branch 'upstream/master'
yekatkov Jun 21, 2021
613df30
Build Framework (NeoML-master 1.0.45.0): Incrementing version number.
NeoML-maintainer Jan 14, 2021
87cee43
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Jun 25, 2021
fa7aace
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Jul 15, 2021
b7d2e16
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Aug 6, 2021
7f7b3ee
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Aug 25, 2021
9f24e3e
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Oct 13, 2021
eb64373
Merge branch 'master' of https://github.com/yekatkov/neoml
yekatkov Oct 27, 2021
f098e0c
Merge remote-tracking branch 'upstream/master'
yekatkov Oct 27, 2021
bc0797d
Merge remote-tracking branch 'upstream/master'
yekatkov Nov 15, 2021
a34183f
Merge remote-tracking branch 'upstream/master'
yekatkov Feb 8, 2022
b0257d0
Implement some fimple functions in JIT.
yekatkov Feb 3, 2022
fe4f83d
Some function were replaced by analogue from cstdlib.
yekatkov Feb 9, 2022
de05811
Fix vectorFill using
yekatkov Feb 9, 2022
00866c2
Add dummy definitions for simple math functions.
yekatkov Feb 10, 2022
af6320d
Implemented another primitives.
yekatkov Feb 10, 2022
989c31c
Fix farsing floating point argument in linux.
yekatkov Feb 11, 2022
a042084
Fix indexing of GPR for Linux
yekatkov Feb 11, 2022
4f3e62b
Merge remote-tracking branch 'upstream/master' into SimpleFunctionsSp…
yekatkov Feb 11, 2022
ede7bb7
Fix macOs build and PR comment
yekatkov Feb 13, 2022
d46b17b
Fix macOs build.
yekatkov Feb 14, 2022
18b89ef
Fixed macOs build
yekatkov Feb 14, 2022
8120266
Fixed some PR bugs.
yekatkov Feb 15, 2022
c3c66d2
Replace 'lea' instruction with 'add'.
yekatkov Feb 15, 2022
3514989
Merge remote-tracking branch 'upstream/master' into SimpleFunctionsSp…
yekatkov Feb 15, 2022
dd0fe1d
Merge branch 'master' into SimpleFunctionsSpeedUp
Mar 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion NeoMathEngine/src/CPU/x86/CpuX86.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ template<class T>
inline void dataCopy(T* dst, const T* src, int vectorSize)
{
if( vectorSize > 0 ) {
memcpy( dst, src, vectorSize * sizeof( T ) );
std::copy_n( src, vectorSize, dst );
}

}
Expand Down
4 changes: 2 additions & 2 deletions NeoMathEngine/src/CPU/x86/avx/src/PrimitivesJit.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ class CPrimitivesJit {
bool isMultithread );

template<CPrimitivesJit::TPrimitive P>
const uint8_t* GetFunctionRawPtr() {
void* GetFunctionRawPtr() {
CGenerator& genInst = gens[static_cast< size_t >( P )];
genInst.lock.lock();
if( genInst.gen.getSize() == 0 ) {
initPrimitive<P>();
}
genInst.lock.unlock();
return genInst.gen.getCode();
return reinterpret_cast<void*>( const_cast<uint8_t*>( genInst.gen.getCode() ) );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хватило бы static_cast, а reinterpret_cast - перебор.

}

private:
Expand Down