Ramine <ramine@1.1>: Mar 03 06:42PM -0800 Hello..... Parallel implementation of Conjugate Gradient Sparse Linear System Solver library was updated to version 1.32 https://sites.google.com/site/aminer68/parallel-implementation-of-conjugate-gradient-sparse-linear-system-solver Read here: https://en.wikipedia.org/wiki/Sparse_matrix As you have noticed it says: "When storing and manipulating sparse matrices on a computer, it is beneficial and often necessary to use specialized algorithms and data structures that take advantage of the sparse structure of the matrix. Operations using standard dense-matrix structures and algorithms are slow and inefficient when applied to large sparse matrices as processing and memory are wasted on the zeroes. Sparse data is by nature more easily compressed and thus require significantly less storage. Some very large sparse matrices are infeasible to manipulate using standard dense-matrix algorithms." I have taken care of that on my new algorithm, i have used my ParallelIntHashList datastructure to store the sparse matrices of the linear systems so that it become very fast and so that it doesn't waste on the zeros, in fact my new algorithm doesn't store the zeros of the sparse matrix of the linear system. I have also implemented another scalable parallel algorithm that is cache-aware an NUMA-aware and that is scalable on NUMA architecture, and that is designed for dense matrices that you find on Linear Equations arising from Integral Equation Formulations, this one stores the zeros of the sparse matrix of the linear system , here it is: Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware was updated to version 1.23 https://sites.google.com/site/aminer68/scalable-parallel-implementation-of-conjugate-gradient-linear-system-solver-library-that-is-numa-aware-and-cache-aware Thank you, Amine Moulay Ramdane. |
bleachbot <bleachbot@httrack.com>: Mar 03 10:36PM +0100 |
bleachbot <bleachbot@httrack.com>: Mar 03 11:43PM +0100 |
bleachbot <bleachbot@httrack.com>: Mar 04 12:35AM +0100 |
Ramine <ramine@1.1>: Mar 03 05:46PM -0800 Hello, Dijkstra's algorithm for Delphi and FreePascal. Computes the shortest path tree. Assumes all weights are nonnegative. Version: 1.0 Authors: Robert Sedgewick, Kevin Wayne and enhanced by Amine Moulay Ramdane Email: aminer at videotron dot ca Description: This project consist of this optimal implementation that uses Dijkstra's algorithm with a binary heap that takes a time complexity of E*log(V), V is the number of vertices and E is the number of edges. This library can be used in parallel clusters manner by dividing your graph in many parts to speed much your parallel algorithm, also i have added an option to the algorithm that permit you to pass the edges of the graph that you can substract from your graph to be able to give you algorithm more control if you want for example to ignore congestions in some roads... You have to have a 32 bit or 64 bit java compiler and you have to compile first the java library by running the compile.bat batch file, after that if you have compiled it with a 32 bit java compiler just compile after that jtest.dpr with a 32 bit delphi or freepacal compiler, but if you have compiled it with a 64 bit java compiler just compile after that jtest.dpr with a 64 bit delphi or freepacal compiler. Please take a look at the jtest.dpr example, you will notice that you have to call the java SP() method by passing it the name of the file that contains the graph and by passing it a second parameter that is the source from were you want to start searching and the third parameter is an array that contains the edges that you want to substract: i have enhanced the algorithm with a new option, you can pass the edges that you want to substract by passing the edges in an array, the edges must be arranged two by two in the array, the first and the second element of the array is the first edge that you want to substract etc. after that you have to call the java SP1() method by passing it the destination that you want to search, and the java SP1()method will return the shortest path to the destination and will return also the number of vertices. Please read carefully jtest.dpr to learn more, that's all. You can download it from: https://sites.google.com/site/aminer68/dijkstra-s-algorithm-for-delphi-and-freepascal Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/ Operating Systems: Windows, Mac OSX , Linux... Required FPC switches: -O3 -Sd -dFPC -dFreePascal -Sd for delphi mode.... Required Delphi switches: -$H+ -DDelphi For Delphi XE-XE7 use the -DXE switch Thank you, Amine Moulay Ramdane. |
Ramine <ramine@1.1>: Mar 03 04:38PM -0800 Hello.... I have updated JNI Wrapper to version 2.85, i have just corrected a bug in the jint datatype, before jint datatype was of a 64 bit length when compiled with a 64 bit java compiler, now i have corrected it because it must be 32 bit in both 64 bit java compiler and 32 bit java compiler, and you can be confident now because i think JNI Wrapper for Delphi and FreePascal version 2.85 is a stable version. You can download JNI Wrapper for Delphi and FreePascal version 2.85 from: https://sites.google.com/site/aminer68/jni-wrapper-for-delphi-and-freepascal JNI Wrapper for Delphi and FreePascal version 2.85 Authors: Jonathan Revusky, Amine Moulay Ramdane and Salvatore Meschini. Email: aminer@videotron.ca Description: This JNI Wrapper for Delphi and FreePascal provides a powerful and simplified object-oriented API for doing mixed language programming in Java and Delphi (Object Pascal language) or FreePascal. This may provide an easier and more productive way of getting Win32 and Win64 features in Java projects and integrating legacy code (at least for the Delphi or FreePascal community). Please read the readme file inside the zip file to learn more. I have noticed that JNIWapper for Delphi and FreePascal was not supporting returning of String and Arrays types from Java, so i have implemented that and i have now enhanced JNI Wrapper to be very powerful , so it's now supporting all the necessary functions and methods and and much more... hope you will happy with it cause i have worked hard to bring this new 2.84 to you, it is really now a professional software of a good quality. Also i have enhanced more JNI Wrapper and ported it to 64 bit and to both FreePascal and the Delphi XE versions, here is the functions that i have implemented and added: function JstringArrayToDTStrings(jarr : JArray) : TStrings; function JdoubleArrayToDdoubleArray(jarr : JdoubleArray) : TDdoubleArray; function JfloatArrayToDsingleArray(jarr : JFloatArray) : TDsingleArray; function JcharArrayToDwordArray(jarr : JCharArray) : TDwordArray; function JbyteArrayToDshortintArray(jarr : JByteArray) : TDshortintArray; function JshortArrayToDsmallintArray(jarr : JShortArray) : TDsmallintArray; function JbooleanArrayToDbooleanArray(jarr : JBooleanArray) : TDbooleanArray; And don't forget to call TJavaVM.freeRef() method from Delphi or FreePascal when you need to garbage collect and free the memory that was allocated. Language: FPC Pascal v2.2.0+ / Delphi XE+: http://www.freepascal.org/ Operating Systems: Windows. Thank you, Amine Moulay Ramdane. |
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com. |
No comments:
Post a Comment