Commit graph

52 commits

Author SHA1 Message Date
Travis E. Oliphant
ab0ce0d49a Update numbapro to handle latest numba changes. 2012-09-27 01:11:35 -05:00
Mark Florisson
20a896b206 Start on array expressions 2012-09-24 12:21:12 +01:00
Siu Kwan Lam
b9584e1071 Fix assertion error in python source due to invalid lineno increment inside llvm_cbuilder.translator. 2012-09-21 19:37:10 -07:00
Mark Florisson
bc03c9a8b7 Fix GC head for debug builds for gufunc fake arrays 2012-09-21 22:46:48 +02:00
Mark Florisson
10b3f188cc Some more progress towards CUDA gufuncs 2012-09-21 22:46:48 +02:00
Mark Florisson
b0137289b9 Use meta to decompile python functions into ASTs 2012-09-21 22:39:48 +02:00
Siu Kwan Lam
8a159b35f0 refactor llvm_cbuilder 2012-09-07 17:53:22 -07:00
Siu Kwan Lam
af44641bb9 add noalias attribute to parameters 2012-09-07 17:53:22 -07:00
Siu Kwan Lam
1e4633c44d add invariant variable 2012-09-07 17:53:22 -07:00
Siu Kwan Lam
b941ae5f1f Use non-temporal hint at memory store for vectorizer.
Note: LLVM optimizer is smart enough to not use NT write if it is slower.
2012-09-07 17:53:22 -07:00
Siu Kwan Lam
8505256510 Inline ufunc kernel in vectorize. (Better io throughput) 2012-09-04 10:08:07 -07:00
Mark Wiebe
e7b1af043f Use the function's calling convention when doing the call in cbuilder 2012-08-30 18:13:03 -07:00
Siu Kwan Lam
a046685b2c Add calling_conv.
Set win32 api to use CC_X86_STDCALL. (need testing)
2012-08-30 12:23:53 -07:00
Siu Kwan Lam
d390960657 Add llvm_cbuilder translate features:
* handle while loop
 * handle for loop
 * handle immediate values

Todo: handle "break" and "continue"
2012-08-23 11:43:24 -05:00
Siu Kwan Lam
eeda441dac Added stream vectorize. 2012-08-22 13:23:52 -05:00
Siu Kwan Lam
4d773ed5ed Add alignment control to vector_load/store.
E.g: align=1 for universal alignment. default to aligned.
2012-08-21 18:32:44 -05:00
Siu Kwan Lam
2218f1d49e Improve vector load store.
Changes make llvm emit parallel ld/st instead of scalar ld/st.
2012-08-21 17:26:12 -05:00
Siu Kwan Lam
5513a34e80 Add some doc and cleanup 2012-08-21 14:17:14 -05:00
Siu Kwan Lam
5319fb8c98 Add initial vector support 2012-08-21 12:33:21 -05:00
Siu Kwan Lam
562e3c1e46 Fix: if-else branch should terminate automatically. Insert unreachable to if.end block if necessary. 2012-08-21 12:30:35 -05:00
Siu Kwan Lam
d55bb95d4d Add translator to convert python code to llvm cbuilder construct 2012-08-21 12:30:35 -05:00
Siu Kwan Lam
f9d7195413 reorganize 2012-08-13 15:53:09 -07:00
Siu Kwan Lam
1009daf3fa Add notebook: parallel_vectorize 2012-08-11 14:55:35 -07:00
Siu Kwan Lam
c1d3044c77 Fix parallel_vectorize_from_func:
* use signed integer;
* use multiprocessing.cpu_count() to determine # of threads.
2012-08-11 14:06:13 -07:00
Siu Kwan Lam
7f84ecbe3b Add notebook: llvm_cbuilder quick tour 2012-08-10 17:58:54 -07:00
Siu Kwan Lam
9ccc6782c7 Add doc for parallel_vectorize_from_func.
Add FunctionAlreadyExists exception.
2012-08-08 17:46:20 -07:00
Siu Kwan Lam
c6d5538ead Add usecase tests 2012-08-08 17:33:34 -07:00
Siu Kwan Lam
753f74d485 Fix tests 2012-08-08 17:33:24 -07:00
Siu Kwan Lam
b23d7909fb add parallel_vectorize_from_func 2012-08-08 17:33:00 -07:00
Siu Kwan Lam
e35b8ca636 Add some float casting 2012-08-08 17:32:39 -07:00
Siu Kwan Lam
3b0aeea6f2 change CDeclare to CFuncRef 2012-08-08 16:27:57 -07:00
Siu Kwan Lam
3009d8468f more cleanup and doc 2012-08-08 15:29:16 -07:00
Siu Kwan Lam
68e2359ad2 cleanup and doc 2012-08-08 15:17:31 -07:00
Siu Kwan Lam
8b45094e20 Add test that uses function pointer. 2012-08-07 16:56:28 -07:00
Siu Kwan Lam
2acc070984 Refactor.
Modify the way CDefinition is specialized.
2012-08-07 16:55:33 -07:00
Siu Kwan Lam
01054c726f Add specialize() for cleaner specialization of CDefinition. 2012-08-06 20:25:36 -07:00
Siu Kwan Lam
b5893d4ebb Add test to use numpy.fromfunc.
Depends on numpy branch "ufunc-from-function-pointer" in git://github.com/jayvius/numpy.git
2012-08-06 17:02:04 -07:00
Siu Kwan Lam
150f497ed0 Add specializable parallel ufunc.
Update test.
Some fixes.
2012-08-06 15:33:36 -07:00
Siu Kwan Lam
fef9c2efbf Add CBuilder.depends to automatically insert depending function. 2012-08-06 14:46:27 -07:00
Siu Kwan Lam
c43b27356b Fix 2012-08-06 14:23:43 -07:00
Siu Kwan Lam
1594e5456a Got test_parallel_vectorize working. 2012-08-06 11:35:03 -07:00
Siu Kwan Lam
891daa1164 Added test implementation of parallel-vectorize (incomplete).
Various fix.
2012-08-05 21:35:02 -07:00
Siu Kwan Lam
0654e00ab1 Add printf() and friends.
Disable logging in old tests.
2012-08-04 19:13:35 -07:00
Siu Kwan Lam
673ada6a4e Fix and add tests. 2012-08-04 15:18:41 -07:00
Siu Kwan Lam
b45c768cc5 Fix 2012-08-04 15:14:09 -07:00
Siu Kwan Lam
184e4ea1a1 Add API for structure 2012-08-03 22:30:54 -07:00
Siu Kwan Lam
f1e10e849f Fix __div__ for py3.
Add test for nested-loops.
2012-08-03 17:02:01 -07:00
Siu Kwan Lam
aebb9857eb Drop volatile option in atomic ops.
Add volatile option to store.
2012-08-03 16:31:23 -07:00
Siu Kwan Lam
8381b25f66 Add atomic ops 2012-08-03 16:26:46 -07:00
Siu Kwan Lam
7238fecc7f add build & test instruction to README 2012-08-02 14:20:02 -07:00