- Added some note on SSE/SEE2 optimization.
- Supported SSE/SSE2 optimization with GCC. git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@3 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
		
							
								
								
									
										41
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								README
									
									
									
									
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
           libLBFGS: C library of limited-memory BFGS (L-BFGS)
 | 
			
		||||
 | 
			
		||||
                                       Copyright (c) 1990, Jorge Nocedal 
 | 
			
		||||
                                       Copyright (c) 2007, Naoaki Okazaki
 | 
			
		||||
                                 Copyright (c) 2007,2008, Naoaki Okazaki 
 | 
			
		||||
 | 
			
		||||
=========================================================================
 | 
			
		||||
1. Introduction
 | 
			
		||||
@@ -22,19 +22,48 @@ http://www.chokkan.org/software/liblbfgs/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
=========================================================================
 | 
			
		||||
2. How to build the sample program
 | 
			
		||||
2. How to build
 | 
			
		||||
=========================================================================
 | 
			
		||||
[Microsoft Visual Studio 2005]
 | 
			
		||||
Open the solution file "test/lbfgs.sln" and build it.
 | 
			
		||||
Open the solution file "lbfgs.sln" and build it.
 | 
			
		||||
 | 
			
		||||
[GCC]
 | 
			
		||||
$ cd test
 | 
			
		||||
$ ./build.sh
 | 
			
		||||
$ ./configure
 | 
			
		||||
$ make
 | 
			
		||||
$ make install  # To install libLBFGS library and header.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
=========================================================================
 | 
			
		||||
3. License
 | 
			
		||||
3. Note on SSE/SSE2 optimization
 | 
			
		||||
=========================================================================
 | 
			
		||||
This library has SSE/SSE2 optimization routines for vector arithmetic
 | 
			
		||||
operations on Intel/AMD processors. The SSE2 routine is for 64 bit double
 | 
			
		||||
values whereas the SSE routine is for 32 bit float values. Since the
 | 
			
		||||
default parameters for L-BFGS are tuned for double precision values, it
 | 
			
		||||
may be more straightforward to use SSE2 optimization than to use SSE.
 | 
			
		||||
 | 
			
		||||
To use the SSE2 optimization routine, specify --enable-sse2 option to the
 | 
			
		||||
configure script.
 | 
			
		||||
 | 
			
		||||
$ ./configure --enable-sse2
 | 
			
		||||
 | 
			
		||||
To build libLBFGS with SSE optimization on Microsoft Visual Studio 2005,
 | 
			
		||||
define USE_SSE and __SSE2__ symbols.
 | 
			
		||||
 | 
			
		||||
Make sure to run libLBFGS on processors where SSE2 instrunctions are
 | 
			
		||||
available.
 | 
			
		||||
 | 
			
		||||
To package maintainers,
 | 
			
		||||
 | 
			
		||||
Please do not enable SSE/SSE2 optimization routine. The library built
 | 
			
		||||
with SSE/SSE2 optimization will crash without any notice when necessary
 | 
			
		||||
SSE/SSE2 instructions are unavailable.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
=========================================================================
 | 
			
		||||
4. License
 | 
			
		||||
=========================================================================
 | 
			
		||||
libLBFGS is distributed under the term of the MIT license.
 | 
			
		||||
Please refer to COPYING file in the distribution.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user