Skip to content

Commit

Permalink
clean up some warnings, update doc links, fix a bad makefile rule
Browse files Browse the repository at this point in the history
  • Loading branch information
solomonik committed Dec 29, 2017
1 parent 128fa29 commit 663d36b
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 23 deletions.
12 changes: 6 additions & 6 deletions Makefile
Expand Up @@ -134,19 +134,19 @@ python_uninstall:
pip uninstall ctf

.PHONY: python_test
python_test: python_base_test python_einsum python_svd_test python_get_item_test
python_test: python_base_test python_einsum_test python_svd_test python_get_item_test
echo "Cyclops Python tests completed."

.PHONY: python_test%
python_test%: python_base_test% python_einsum% python_svd_test%
python_test%: python_base_test% python_einsum_test% python_svd_test%
echo "Cyclops Python tests completed."

.PHONY: python_einsum
python_einsum: python
.PHONY: python_einsum_test
python_einsum_test: python
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(BDIR)/lib_shared:$(BDIR)/lib_python:$(LD_LIB_PATH)" PYTHONPATH="$(PYTHONPATH):$(BDIR)/lib_python" python ./test/python/test_einsum.py

.PHONY: python_einsum%
python_einsum%: python
.PHONY: python_einsum_test%
python_einsum_test%: python
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(BDIR)/lib_shared:$(BDIR)/lib_python:$(LD_LIB_PATH)" PYTHONPATH="$(PYTHONPATH):$(BDIR)/lib_python" mpirun -np $* python ./test/python/test_einsum.py

.PHONY: python_base_test
Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -139,9 +139,9 @@ An example of basic CTF functionality as a `numpy.ndarray` back-end is shown in

## Documentation

Detailed documentation of all functionality and the organization of the source code can be found in the [Doxygen page](http://solomon2.web.engr.illinois.edu/ctf/index.html). Much of the functionality is expressed through the [Tensor object](http://solomon2.web.engr.illinois.edu/ctf/classCTF_1_1Tensor.html).
Detailed documentation of all functionality and the organization of the source code can be found in the [Doxygen page](http://solomon2.web.engr.illinois.edu/ctf/index.html). Much of the C++ functionality is expressed through the [Tensor object](http://solomon2.web.engr.illinois.edu/ctf/classCTF_1_1Tensor.html). A list of key available Python functions can be found in the [core Ctyhon module doxygen page](http://solomon2.web.engr.illinois.edu/ctf/doc/html/namespacectf_1_1core.html).

The examples and aforementioned papers can be used to gain further insight. If you have any questions regarding usage, do not hesitate to contact us! You can do so by posting an issue on the github page or emailing solomon2@illinois.edu.
The examples and aforementioned papers can be used to gain further insight. If you have any questions regarding usage, do not hesitate to contact us! Please do so by creating an issue on this github webpage. You can also email questions to solomon2@illinois.edu.

## Performance

Expand Down
6 changes: 3 additions & 3 deletions doc/CTF_doxygen.cfg
Expand Up @@ -37,7 +37,7 @@ PROJECT_NUMBER =
# for a project that appears at the top of each page and should give viewer
# a quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF = "a parallel framework for tensor contractions"
PROJECT_BRIEF = "parallel arithmetic on multidimensional arrays"

# With the PROJECT_LOGO tag one can specify an logo or icon that is
# included in the documentation. The maximum height of the logo should not
Expand Down Expand Up @@ -230,7 +230,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.

EXTENSION_MAPPING = hxx=C cxx=C
EXTENSION_MAPPING = hxx=C++ cxx=C++ pyx=Python

# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should
Expand Down Expand Up @@ -606,7 +606,7 @@ INPUT_ENCODING = UTF-8
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
# *.f90 *.f *.for *.vhd *.vhdl

FILE_PATTERNS =
FILE_PATTERNS = *.cxx *.h *.hpp *.pyx

# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
Expand Down
6 changes: 3 additions & 3 deletions doc/doxygen.h
Expand Up @@ -8,14 +8,14 @@
* However, a user can define any statically-sized type and elementwise operations.
* CTF supports general tensor sparsity, so it is possible to define graph algorithms with the use of sparse adjacency matrices.
*
* To get an idea of how CTF interface works, browse through some of the short sample codes in the <a href="https://github.com/solomonik/ctf/tree/master/examples">examples folder</a>.
* To get an idea of how CTF interface works, browse through some of the short sample codes in the <a href="https://github.com/cyclops-community/ctf/tree/master/examples">examples folder</a>.
*
* The primary means of specifying CTF tensor operations is assigning `iterator' indices for each way of each tensor and specifying an elementwise function to apply.
* Partitioning and efficient redistribution of tensor data is also possible via CTF.
*
* The software is available on GitHub (github.com/solomonik/ctf) and maybe obtained via the command
* The software is available on GitHub (github.com/cyclops-community/ctf) and maybe obtained via the command
*
* git clone https://github.com/solomonik/ctf
* git clone https://github.com/cyclops-community/ctf
*
* CTF requires the BLAS and MPI to be built, with MPI being the main parallel execution and communication mechanism.
* OpenMP and CUDA may additionally be provided for threading and accelerator support, respectively, but CTF will also build without them.
Expand Down
4 changes: 0 additions & 4 deletions src/contraction/contraction.cxx
Expand Up @@ -741,7 +741,6 @@ namespace CTF_int {

iparam contraction::map_fold(bool do_transp){
int i, all_fdim_A, all_fdim_B, all_fdim_C;
int nvirt_A, nvirt_B, nvirt_C;
int * fnew_ord_A, * fnew_ord_B, * fnew_ord_C;
int * all_flen_A, * all_flen_B, * all_flen_C;
iparam iprm;
Expand Down Expand Up @@ -793,7 +792,6 @@ namespace CTF_int {

if (do_transp){
bool csr_or_coo = B->is_sparse || C->is_sparse || is_custom || !A->sr->has_coo_ker;
nvirt_A = A->calc_nvirt();
if (!A->is_sparse){
nosym_transpose(A, all_fdim_A, all_flen_A, A->inner_ordering, 1);
} else {
Expand All @@ -805,7 +803,6 @@ namespace CTF_int {
}
A->spmatricize(iprm.m, iprm.k, nrow_idx, csr_or_coo);
}
nvirt_B = B->calc_nvirt();
if (!B->is_sparse){
nosym_transpose(B, all_fdim_B, all_flen_B, B->inner_ordering, 1);
/*for (i=0; i<nvirt_B; i++){
Expand All @@ -822,7 +819,6 @@ namespace CTF_int {
B->spmatricize(iprm.k, iprm.n, nrow_idx, csr_or_coo);
}

nvirt_C = C->calc_nvirt();
if (!C->is_sparse){
nosym_transpose(C, all_fdim_C, all_flen_C, C->inner_ordering, 1);
} else {
Expand Down
4 changes: 2 additions & 2 deletions src/interface/semiring.cxx
Expand Up @@ -43,12 +43,12 @@ namespace CTF_int {
} else {
ldb = n;
}
int group_count = 1;
int size_per_group = l;
dtype ** ptrs_A = get_grp_ptrs(m*k,l,A);
dtype ** ptrs_B = get_grp_ptrs(k*n,l,B);
dtype ** ptrs_C = get_grp_ptrs(m*n,l,C);
#if USE_SP_MKL
int group_count = 1;
int size_per_group = l;
CTF_BLAS::gemm_batch<dtype>(&taA, &taB, &m, &n, &k, &alpha, ptrs_A, &lda, ptrs_B, &ldb, &beta, ptrs_C, &ldc, &group_count, &size_per_group);
#else
for (int i=0; i<l; i++){
Expand Down
3 changes: 0 additions & 3 deletions src/summation/summation.cxx
Expand Up @@ -289,7 +289,6 @@ namespace CTF_int {

int summation::map_fold(){
int i, all_fdim_A, all_fdim_B;
int nvirt_A, nvirt_B;
int * fnew_ord_A, * fnew_ord_B;
int * all_flen_A, * all_flen_B;
int inr_stride;
Expand All @@ -309,13 +308,11 @@ namespace CTF_int {
permute_target(fold_sum->B->order, fnew_ord_B, B->inner_ordering);


nvirt_A = A->calc_nvirt();
nosym_transpose(A, all_fdim_A, all_flen_A, A->inner_ordering, 1);
/*for (i=0; i<nvirt_A; i++){
nosym_transpose(all_fdim_A, A->inner_ordering, all_flen_A,
A->data + A->sr->el_size*i*(A->size/nvirt_A), 1, A->sr);
}*/
nvirt_B = B->calc_nvirt();
nosym_transpose(B, all_fdim_B, all_flen_B, B->inner_ordering, 1);
/*for (i=0; i<nvirt_B; i++){
nosym_transpose(all_fdim_B, B->inner_ordering, all_flen_B,
Expand Down

0 comments on commit 663d36b

Please sign in to comment.