by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Sep 15 2019 18:21
    cophus commented #2
  • Sep 15 2019 18:18
    cophus commented #4
  • Sep 04 2019 21:20
    thomasaarholt opened #4
  • Aug 29 2019 08:21
    thomasaarholt closed #1
  • Aug 29 2019 08:21
    thomasaarholt commented #1
  • Aug 29 2019 08:20
    thomasaarholt commented #2
  • Aug 29 2019 08:06
    thomasaarholt closed #3
  • Aug 29 2019 08:06
    thomasaarholt commented #3
  • Aug 29 2019 08:06
    thomasaarholt commented #3
  • Aug 28 2019 17:18
    cophus commented #2
  • Aug 28 2019 17:13
    cophus commented #1
  • Aug 28 2019 17:05
    cophus commented #3
  • Aug 27 2019 07:32
    thomasaarholt opened #3
Tara Prasad Mishra
@Quantumstud

@lerandc, I still haven't figured out the pyprismatic in GPU mode. Sorry to bother in a similar topic:

Below is the error I get while install the pyprismatic

In file included from ./include/meta.h:20:0,
from ./include/params.h:23,
from pyprismatic/core.cpp:15:
./include/defines.h:37:10: fatal error: cuComplex.h: No such file or directory

 #include "cuComplex.h"
          ^~~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1

It seems it is not able to find the cuComplex.h file.
I have checked that I have compiled my CMAKE in python_gpu mode:
Furthermore; the cuComplex.h is available in the Cuda-10.2 library.

reiszadeh
@reiszadeh
Hi
I have seen some bug when I was using prism method with interpolation factor 2. I have started by sample with 3by3by3 nm^3 and increased the sample till 6by6by9 nm^3 . It works!. When I increase the box cell more, despite of the PRISM calculation complete with requesting high memory , the code returns zero value to all element in "realslice" matrix
Tara Prasad Mishra
@Quantumstud

Hi @lerandc ! It seems I found out the problem. The cuprismatic is not being compiled properly. When I use

cmake -DPRISMATIC_ENABLE_GPU=1 -DPRISMATIC_ENABLE_CLI=1 -DPRISMATIC_ENABLE_PYTHON_GPU=1 ../

Everything is compiled fine but the end I get:

CMake Warning:
               Manually-specified variables were not used by the project:
               PRISMATIC_ENABLE_PYTHON_GPU


            -- Build files have been written to: /home/tara/apps/prismatic/prismatic-1.2.1/build`
Luis RD
@lerandc
ah, I see the issue- sorry for not checking in earlier. I updated the command to -DPRISMATIC_ENABLE_PYPRISMATIC, because it was a little more consistent to build pyprismatic with CMake and without the setup.py script once the HDF5 libraries were added in
Could you try this command instead and let me know how it works out for you?
Tara Prasad Mishra
@Quantumstud

Thanks, @lerandc yeah that indeed solves the problem while cmake. Sorry I ran into another problem it seems while pip installing, there is some error generated. I think it is due to the fact that cuprismatic library is not found.
Can you say what I am doing wrong?

 /home/tara/anaconda3/envs/4dsim/compiler_compat/ld: cannot find -lcuprismatic

Thanks a lot!!

Tara Prasad Mishra
@Quantumstud
Thank you very much @learndc. I figured out the pip install method doesn't work however the setup.py method mentioned in the website works flawlessly. Wonderful!! It would be great if the website can updated with the tag.
Tara Prasad Mishra
@Quantumstud
@wangshuai1212_gitlab Are you using a Linux system? If so did you compile Prismatic with -DPRISMATIC_ENABLE_GPU? It seems if you have compiled correctly, prismatic prints out "Using GPU codes" while running the calculations.
Tara Prasad Mishra
@Quantumstud
Putting it out in case someone has already done it. Is there any module or script that converts the VASP POSCAR or LAMMPS output file into the PRISM input file format?
Colin Ophus
@cophus
@Quantumstud Here are a few matlab scripts for importing VASP POSCAR files and writing Prismatic xyz outputs. Note that POSCARs come in different flavours so you might need some modifications.
To write a prismatic .xyz file, you might use a command line like:
writeXYZprismatic('filename.xyz','some comment,cellDim,atomsID(:,4),atomsID(:,1:3),1,0.0999999);
Note I use an occupancy of 1 in all sites (can be a scalar or vector input) and a constant uRMS of 0.1 for all sites ( can also be a vector) though I write it with the extra trailing 9s to get around the read bug where u = 0.1 can be read in as u = 0.
i.e. make sure your Debye-Waller uRMS values are correct in the output file please!
Tara Prasad Mishra
@Quantumstud
Thank you @cophus .
Tara Prasad Mishra
@Quantumstud
Hello all! I was trying prismatic (the conda repository) on a supercomputing cluster with varying the number of CPUs.Strangely, it seems that the amount of time taken for the 48 cores is higher than the amount of time taken for a 24 core calculation. I have attached the output files below. The .o files are the output after the calculation is over shows the wall time and the CPU time that is used. I am trying to benchmark using the SI100.XYZ example structure. I have also attached the scratch parameters. Is there something I am doing wrong?
Tara Prasad Mishra
@Quantumstud
Hi! I had a question regarding the -batchsizeTargetCPU in Prismatic. The description states as, "number of probes/beams to propagate simultaneously for both CPU and GPU workers." I am confused with what should be the optimum batch size with the given number of cores used in the calculation. For example, if I am using a calculation on 24 cores, how should I determine the optimum batch size? Similarly, for a 48 core calculation?
yobc401
@yobc401
Hello, I'm trying to install pyprismatic in supercomputing clusters that I
Hello, I'm trying to install pyprismatic in supercomputing clusters that I'm able to access. I used "conda install pyprismatic -c conda-forge" but it doesn't work properly. The error message appears in the following: EnvironmentNotWritableError: The current user does not have write permissions to the target environment.
environment location: /mpcdf/soft/SLE_12_SP4/packages/x86_64/anaconda/3/2019.03
uid: 30905
gid: 11300
I'm not able to access the cluster by root or sudo account. Could you help me to solve this critical problem? Thanks in advance!
Luis RD
@lerandc
@Quantumstud The batch size determines how many probes an individual worker thread will calculate before requesting more probes from the main host thread. Essentially, every time a worker thread goes back to the host, it requires a memory transfer—for both CPU and GPU workers. The optimum batch size is dependent on the size of your calculation and your specific architecture, so it’s a little hard to say. For multislice, if there are many slices, it doesn’t matter too much anyway, since the propagation is the slowest step. For PRISM, I would increase the batch size until your GPU ram gets fully occupied. If you are working across multiple cores on a cluster, though, I would first verify that every core is actually being utilized—I’m not sure that prismatic sends off work across multiple nodes very naturally.
@yobc401 This might be a better question for whoever runs the supercomputing cluster/is your designated admin on how to install prismatic for your local user environment
Tara Prasad Mishra
@Quantumstud
@lerandc Thanks for the reply!! Yes, for the multicore cluster, prismatic doesn't parallelize with across the different physical cores. Hence the maximum cores that can be used in my cluster are 24. Even if I use 48 cores, only 24 cores are used, and the remaining 24 cores are not utilized. Is there any workaround for that?
@yobc401 Hi! I am also using a supercomputing cluster to run Prismatic. The easiest way is using the Conda package thanks to the prism Conda package that is now available. You can install anaconda locally in your account and then use 'conda install -c conda-forge prismatic' By this, you don't have to have the root or sudo access!
Thomas Aarholt
@thomasaarholt
@yobc401 Even simpler: In the anaconda distribution you are using, create a new environment. This will automatically be created in your local directories, where you have writing access. conda create --name pris -c conda-forge prismatic will do what you want.
zhantaochen
@zhantaochen
Hi there, I was wondering does Prismatic require the unit cell (xyz file) to have alpha, beta, gamma=90 degree? Are we supposed to convert coordinate to orthogonal basis, and could any of you please suggest me some effective ways to do this type of work? I tried searching on Prismatic website and this chatting room but could not find too much related information (except the graphene one but seems no xyz file available to confirm my thoughts). I will appreciate any guidance!
Colin Ophus
@cophus
@zhantaochen Yes Prismatic requires alpha = beta = gamma = 90 degrees. I always convert cells to orthogonal using rational or pseudo-rational approximates. What cell do you need to transform? If you send it to me, I might be able to provide you with a worked example
zhantaochen
@zhantaochen
@cophus Thank you for the response Dr. Ophus! I do not have a target material for now, but am generally curious how to deal with non-orthogonal unit cells. I think graphene would be a great starting point (I have attached a cif file downloaded from Materials Project). Could you please elaborate a bit more, or just throw me a link, about the (pseudo-)rational approximations? I could not find related information after a quick search. I was also wondering does Prismatic directly tile input unit cells? If so, I will pay additional attention to boundaries to make sure periodicity is not interrupted between tiled UC's. Sorry for so many questions...
@zhantaochen Sorry for the delay in following up - been quite busy this week! Here are several matlab scripts, and the output files I made for the SuperSTEM tutorial on www.prism-em.com
In rotateCell01.m, you can see how I rotate and re-project rational approximations of the barium neodymium titante cell - for example you could un-comment different blocks like:
% % % [0 1 2] zone axis
% UCtile = [1 11 1];
% xProj = [1 0 0];
% yProj = [0 5 1];
% zProj = [0 1 -2];
@zhantaochen If this isn't clear, I can make a simple 2D graphene example for you too - re-projecting the primitive cell with 120 degrees between lattice vectors to a 90 degree corner [1 sqrt(3)] a cell just requires using projection vectors like [1 0] and [-0.5 0.5 sqrt(3)]
zhantaochen
@zhantaochen
Thank you so much for your help Dr. Ophus @cophus, I will look into the shared codes and files!!
Eric Prestat
@ericpre
Is it expected that the RMS values for mustem and prismatic seems to be an order of magnitude different?
rouviere2
@rouviere2
Hello, by testing prismatic, we found surprising potentials for the different slides using the standard Si001.xyz files. tileX=1, tileZ=6, sliceThickness=1.3575 (a/4).