Difference between revisions of "GPU610/DPS915 Student Resources"

From CDOT Wiki
Jump to: navigation, search
(segmm)
(segmvhttp://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Fproguide%2Fref%2Fblaslib.htm)
Line 9: Line 9:
 
There are 2 main functions to use
 
There are 2 main functions to use
  
===segmv<ref>http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Fproguide%2Fref%2Fblaslib.htm</ref> ===
+
===segmv===
 
void '''cblas_sgemv''' (''const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, const float * A, const int lda, const float * x, const int incx, const float beta, float * y, const int incy'')<ref>http://www.gnu.org/software/gsl/manual/html_node/Level-2-CBLAS-Functions.html</ref>
 
void '''cblas_sgemv''' (''const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, const float * A, const int lda, const float * x, const int incx, const float beta, float * y, const int incy'')<ref>http://www.gnu.org/software/gsl/manual/html_node/Level-2-CBLAS-Functions.html</ref>
  

Revision as of 16:15, 20 September 2012


GPU610/DPS915 | Student List | Group and Project Index | Student Resources | Glossary

Student Resources

The purpose of this page is to share useful information that can help groups with their game projects.

BLAS Documentation --- This section is a work in progress -- please do not edit [jboelen]

Note: This information applies to the gsl_cblas library

There are 2 main functions to use

segmv

void cblas_sgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, const float * A, const int lda, const float * x, const int incx, const float beta, float * y, const int incy)<ref>http://www.gnu.org/software/gsl/manual/html_node/Level-2-CBLAS-Functions.html</ref>

order

Whether matrices are row major order (C-Style) for column major order (Fortran-style). One of enum CblasRowMajor or CblasColMajor.

TransA

Whether to transpose matrix A. One of enum CblasNoTrans, CBlasTrans.

M

represents:
the number of rows in input matrix a
the length of vector y, if 'N' or 'n' is used for the trans parameter
the length of vector x, if 'T' or 't' is used for the trans parameter
The number of rows must be greater than or equal to zero, and less than the leading dimension of the matrix a (specified in lda)

N

represents:
the number of columns in input matrix a
the length of vector x, if 'N' or 'n' is used for the trans parameter
the length of vector y, if 'T' or 't' is used for the trans parameter
The number of columns must be greater than or equal to zero.

alpha

is the scaling constant for matrix a

A

is the input matrix of float (for sgemv) or double (for dgemv) values

lda

is the leading dimension of the array specified by a. The leading dimension must be greater than zero. The leading dimension must be greater than or equal to 1 and greater than or equal to the value specified in m.

x

is the input vector of float (for sgemv) or double (for dgemv) values.

incx

is the stride for vector x. It can have any value.

beta

is the scaling constant for vector y

y

is the output vector of float (for sgemv) or double (for dgemv) values.

incy

is the stride for vector y. It must not be zero.

segmm

void cblas_sgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const float alpha, const float * A, const int lda, const float * B, const int ldb, const float beta, float * C, const int ldc) <ref> http://www.gnu.org/software/gsl/manual/html_node/Level-3-CBLAS-Functions.html</ref> l

represents the number of rows in output matrix c. The number of rows must be greater than or equal to zero, and less than the leading dimension of c.


n

represents the number of columns in output matrix c. The number of columns must be greater than or equal to zero.


m

represents:
the number of columns in matrix a, if 'N' or 'n' is used for the transa parameter
the number of rows in matrix a, if 'T' or 't' is used for the transa parameter
and:
the number of rows in matrix b, if 'N' or 'n' is used for the transb parameter
the number of columns in matrix b, if 'T' or 't' is used for the transb parameter
m must be greater than or equal to zero.


alpha

is the scaling constant for matrix a


a

is the input matrix a of float (for sgemm) or double (for dgemm) values


lda

is the leading dimension of the array specified by a. The leading dimension must be greater than zero. If transa is specified as 'N' or 'n', the leading dimension must be greater than or equal to 1. If transa is specified as 'T' or 't', the leading dimension must be greater than or equal to the value specified in m.


b

is the input matrix b of float (for sgemm) or double (for dgemm) values.


ldb

is the leading dimension of the array specified by b. The leading dimension must be greater than zero. If transb is specified as 'N' or 'n', the leading dimension must be greater than or equal to the value specified in m. If transa is specified as 'T' or 't', the leading dimension must be greater than or equal to the value specified in n.


beta

is the scaling constant for matrix c


c

is the output matrix c of float (for sgemm) or double (for dgemm) values.


ldc

is the leading dimension of the array specified by c. The leading dimension must be greater than zero. If transb is specified as 'N' or 'n', the leading dimension must be greater than or equal to 0 and greater than or equal to the value specified in l.

https://scs.senecac.on.ca/~gpu610/pages/content/lines.html

Getting Started on Mac

http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_Getting_Started_Mac.pdf

http://developer.nvidia.com/cuda/cuda-downloads

Troubleshooting

Problem with CUDA driver version 5.0.24 on MacBook Pro 2012 Fix


References

<references/>